dra*_*oon 47 django django-models
嗨假设我有一个像这样的简单模型类:
class TestModel(models.Model):
testkey = models.ForeignKey(TestModel2)
...
Run Code Online (Sandbox Code Playgroud)
当我创建一个TestModel对象时,我必须传递一个TestModel2对象的实例来创建它:
testkey =TestModel2.objects.get(id=...)
TestModel.objects.create(testkey=testkey)
Run Code Online (Sandbox Code Playgroud)
这导致我想要对数据库进行2次查询,并且我有一个创建对象所需的外键ID列表.
是否可以在不初始检索外键对象的情况下使用外键创建对象?
sne*_*eeu 72
你所追求的是:
TestModel.objects.create(testkey_id=1)
Run Code Online (Sandbox Code Playgroud)
Zoh*_*Ali 13
在我的情况下TestModel.objects.create(testkey__id=1)对我不起作用,所以我不得不放一个下划线而不是两个,例如
TestModel.objects.create(testkey_id=1)
在get_or_create它会失败。因此,要get_or_create在下面进行工作是解决方案:
TestModel.objects.get_or_create(testkey=TestModel2(id=1))
Run Code Online (Sandbox Code Playgroud)
参考:https : //code.djangoproject.com/ticket/13915
| 归档时间: |
|
| 查看次数: |
38303 次 |
| 最近记录: |