如何为具有多对多字段的 Django 模型创建对象? https://stackoverflow.com/questions/6996176/how-to-create-an-object-for-a-django-model-with-a-many-to-many-field
从上面的问题我知道我们只能稍后保存多对多字段。
模型.py
class Store(models.Model):
name = models.CharField(max_length=100)
class Foo(models.Model):
file = models.FileField(upload_to='')
store = models.ManyToManyField(Store, null=True, blank=True)
views.py
new_track.file = request.FILES['file']
new_track.save()
文件上传工作正常,然后我修改代码以添加商店,然后我就在这里......
现在我确信数据库返回 id 在这里。然后我尝试使用下面的代码,但这只给了我错误
x = new_track.id
new = Foo.objects.filter(id=x)
new.store.id = request.POST['store']
new.save()
好的,这里的错误是'QuerySet' object has no attribute 'store'
我也尝试过add
现在也正在发挥作用。
所以问题是如何保存()
保存具有多对多关系的对象的正确方法是:
...
new_track.file = request.FILES['file']
new_track.save()
new_store = Store.objects.get(id=int(request.POST['store']))
new_track.store.add(new_store)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)