我尝试应用管理下拉列表功能(查询集)中的值。以下代码有效,但仅适用于外键。
如果我尝试将它应用于多对多字段,我会得到一个字段错误,该错误表示"只允许非关系和外键#34;。
def tag_Tagtest(self, request, queryset):
queryset.update(tag=Tag.objects.get(name__iexact='BLAH_BLAH'), updated=timezone.now())
这是我对ManyToMany的尝试:
----- models.py
class Product(models.Model):
name = models.CharField ("Name", max_length=400)
tag = models.ManyToMany (Tag, blank=True)
class Tag(models.Model):
name = models.CharField(max_length=30)
tag_type = models.CharField(max_length=30)
def __str__(self):
return self.name
---- admin.py
def TEST_M2M (self, request, queryset):
queryset = self.model._meta.app_label, self.model._meta.model_name
如何使用上述代码应用于多对多字段?
答案 0 :(得分:1)
Django不能同时将M2M值添加到多个对象,但您可以遍历查询集。
blahblah=Tag.objects.get(name__iexact='BLAH_BLAH')
for product in queryset:
product.tag.add(blahblah)