有这样的模型。您需要编写一个查询来查找没有required_models. 也就是说,请求my_model.required_models.all()将返回空的那些query_set
class MyModel(models.Model):
name = models.CharField(max_length=40)
text = models.TextField(max_length=1000, default="", blank=True)
required_models = models.ManyToManyField(
"self", related_name="released_models", blank=True, symmetrical=False)
如果编写一个中间模型,那就更容易了。
class ThroughModel(models.Model):
required_model = models.ForeignKey(MyModel, null=True)
released_model = models.ForeignKey(MyModel, null=True)
那么请求将类似于:
TroughModel.objects.filter(required_model=None)
然后从他们那里已经得到了必要的MyModel
通过 many_to_many 帮助编译。我自己什么都想不出来。
您可以使用字段查找
isnull在这里您可以阅读有关字段查找的信息