我有以下型号:保存ManyToManyField和在Django
class City(models.Model):
name = models.CharField(max_length=100)
class Pizza(models.Model):
name = models.CharField(max_length=100)
cities = models.ManyToManyField('City')
class Price(models.Model):
cad = models.DecimalField()
usd = models.DecimalField()
pizza = models.ForeignKey(Pizza)
我可以创建下面的代码一个全新的比萨饼:
new_pizza = Pizza(name='Canadian')
new_pizza.save()
# I already calculated the following before, the syntax might not
# be correct but that's how you see it from the shell
new_pizza.cities = [<City: Toronto>, <City: Montreal>]
new_pizza.save()
new_price = Price(cad=Decimal('9.99'), usd=Decimal('8.99'), pizza=new_pizza.id)
new_price.save()
我可能有一些错字这里但上面的工作很好,但我不喜欢这么多次保存对象。有没有更好的方法从上面的当前模型从头创建一个Pizza对象?