假设我有一个架构如下图所示:过滤数据集不具有值
Book | Author
-------------
B1 | A1
B1 | A3
B1 | A2
B2 | A5
B2 | A4
B2 | A3
B3 | A5
B3 | A6
B3 | A1
B4 | A1
B4 | A5
B4 | A6
与以下型号:
class Books(models.Model):
author = models.CharField(
max_length=100,
blank=False,
null=False,
db_index=True,
verbose_name=_('authors'),
)
book = models.CharField(
max_length=50,
blank=False,
null=False,
db_index=True,
verbose_name=_('book'),
)
book_type = models.CharField(
max_length=50,
blank=False,
null=False,
default="regular"
)
flavour = models.CharField(
max_length=10,
blank=False,
null=False,
verbose_name=_('flavour'),
)
cost = models.IntegerField()
status = models.CharField(
max_length=100,
null=True,
blank=True,
db_index=True,
)
,我想过滤掉所有那些书,其作者是不 A1(B2在这种情况下为)
这是使用group by
和的简单SQL条款,我有困难的时候是使用usinng django queryset和注释完成它。大部分注释工作在count
附近,我无法适应这种特殊情况。
任何指针都很有帮助,谢谢! :)
你可以发布Django模型吗? – solarissmoke
@solarissmoke:加入 – NoobEditor