Python 什么是使django模型节约的正确方法?
假设我有这些模型:Python 什么是使django模型节约的正确方法?,python,django,Python,Django,假设我有这些模型: class Person(models.Model): first_name = models.CharField(max_length=30) last_name = models.CharField(max_length=30) class Badge (models.Model): owner = models.ForeignKey(Person) 我想把一个新人连同他的徽章一起保存下来,然后我收到一个帖子请求,其中包含了此人的详细信息和他拥
class Person(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=30)
class Badge (models.Model):
owner = models.ForeignKey(Person)
我想把一个新人连同他的徽章一起保存下来,然后我收到一个帖子请求,其中包含了此人的详细信息和他拥有的徽章。我似乎找不到一种方法来创建所有对象,而不是只使用一条语句保存它们。我可以单独保存所有内容,然后将对象链接在一起,但随着事情变得更加相互关联,它会变得复杂
这样做的最佳方法是什么
干杯,
Gil在这种情况下似乎相当容易,先是人,然后是徽章 如果要查找批量添加功能,请尝试该方法 因此,在你的情况下:
person = Person(first_name='Guido', last_name='van Rossum')
Badge.objects.bulk_create([
Badge(owner=person),
Badge(owner=person),
Badge(owner=person),
Badge(owner=person),
])
这个案例只是一个例子。我的案例涉及到模型之间更多的连通性。但在我按照你说的那样做之后,当我接近保存对象时:如果我只是保存对象,保存不会向下流(想想如果徽章所有者是需要保存的第三个模型的foerign密钥会发生什么),这是真的,你必须自己处理它。