如何检查与我的模型对象相关的任何多对多字段对象?
例如,我有一个模型:
class Category(models.Model):
related_categories = models.ManyToManyField('self', blank=True)
只有存在相关对象时,我才想做某事:
if example_category.related_categories:
do_something()
我尝试了 example_category.related_categories
, example_category.related_categories.all()
, example_category.related_categories.all().exists()
, example_category.related_categories.count()
,但是这些都对我没有用。
我没有任何其他条件进行筛选。
有没有什么简单的方法来检查这个字段是否为空?
related_categories
是对称的。这意味着如果a
与b
相关联,则b
也与a
相关联。 - Willem Van Onsem.exists()
是正确的解决方案。 - Daniel Rosemanblank
实际上对表单有影响。但是如前所述,如果您将b
的related_categories
添加a
,则意味着a
的related_categories
也不为空。 - Willem Van Onsem