如何检查 ManyToMany 字段是否为空?

Dib*_*mba 14 python django django-models

如何检查是否有与我的模型对象相关的 ManyToMany 字段对象?

例如,我有一个模型:

class Category(models.Model):
    related_categories = models.ManyToManyField('self', blank=True)
Run Code Online (Sandbox Code Playgroud)

仅当存在相关对象时,我才想做某事:

if example_category.related_categories:
    do_something()
Run Code Online (Sandbox Code Playgroud)

我试着做example_category.related_categories, example_category.related_categories.all(), example_category.related_categories.all().exists(), example_category.related_categories.count(),但这些都不适合我。

我没有任何额外的条件可以过滤。

有没有简单的方法来检查这个字段的空性?

Kar*_*a K 19

你应该使用 .exists 方法:

related_categories = example_category.related_categories
if related_categories.exists():
    # do something
Run Code Online (Sandbox Code Playgroud)