首页 > 解决方案 > 在 django 中装了多少零或多,一或多,零或一?

问题描述

我有一个Vacancy可以有零个或多个Benefits的,目前ManytToMany在空缺中使用这样的:

class Vacancy(models.Model):
    benefits = models.ManyToManyField(Benefits)

我的问题是如何定义空缺职位没有福利的可能性?我如何定义它必须至少有一个好处?

这如何适用于 djangoOneToOneForeignKey关系?

标签: pythondjangodjango-modelsmodel

解决方案


你可以blank=True作为参数传入ManyToManyField.

class Vacancy(models.Model):
    benefits = models.ManyToManyField(Benefits, blank=True)

这种方式benefits成为可选的。

Vacancy您也可以通过使用.exists()方法检查是否有好处。

# benefits exists
if vacancy_object.benefits.exists():
    # do what you want
# benefits not exists
else:
    # do what you want

推荐阅读