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
Django 如何从模型中排除对象?_Django - Fatal编程技术网

Django 如何从模型中排除对象?

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)

我需要从我的模型中排除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)
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中删除它,对吗?