Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 什么是使django模型节约的正确方法?_Python_Django - Fatal编程技术网

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密钥会发生什么),这是真的,你必须自己处理它。