Django 如何从模型中排除对象?
我需要从我的模型中排除1个大小的Good with字段:Django 如何从模型中排除对象?,django,Django,我需要从我的模型中排除1个大小的Good with字段:size=models.ManyToManyField('size') 尺寸型号: class Size(models.Model): size = models.CharField(max_length = 15) def __str__(self): return self.size 我尝试在views.py中执行此操作: good1 = Good.objects.get(id = good_id)
size=models.ManyToManyField('size')
尺寸型号:
class Size(models.Model):
size = models.CharField(max_length = 15)
def __str__(self):
return self.size
我尝试在views.py中执行此操作:
good1 = Good.objects.get(id = good_id)
choosen_good_size = good1.Size.get(size = 'XS')
choosen_good_size.exclude()
good1.save()
但我有一个错误:
异常值:“大小”对象没有“排除”属性
在另一种情况下,我得到AttributeError:Manager不能通过好的实例访问
我应该怎么做才能让它工作呢?您可以使用它,比如:
good1 = Good.objects.get(id=good_id)
size = Size.objects.get(size='XS')
good1.Size.remove(size)
good1=Good.objects.get(id=Good\u id)
size=size.objects.get(size='XS')
good1.大小。删除(大小)
注意:根据PEP-8,您可能应该命名ManyToManyField
大小
,而不是大小
由QuerySet
s和Manager
s使用,从QuerySet
中删除数据库中的某些记录,这些记录仍然存在,但由于某种原因您不想检索它。用于此目的,如:
good1 = Good.objects.get(id=good_id)
size = Size.objects.get(size='XS')
good1.Size.remove(size)
good1=Good.objects.get(id=Good\u id)
size=size.objects.get(size='XS')
good1.大小。删除(大小)
注意:根据PEP-8,您可能应该命名ManyToManyField
大小
,而不是大小
被
QuerySet
s和Manager
s用于从QuerySet
中删除数据库中的某些记录,这些记录仍然存在,但由于某种原因您不想检索它。因此您想*将其从good1
的大小中删除,对吗?所以你想*从good1
的Size
s中删除它,对吗?