我有3个django模型,其中第二个具有第一个的外键,而第三个具有第一个的外键。像这样:
NewRegistration Model
class NewRegistration(models.Model):
registration_date = models.DateField()
ward_no = models.ForeignKey(system_settings.models.Wardno)
latitude = models.DecimalField(decimal_places=16, max_digits=30)
longitude = models.DecimalField(decimal_places=16, max_digits=30)
is_forwarded = models.BooleanField(default=False)
Landowner Model
class Landowner(models.Model):
lo_address_roadname_en = models.TextField(max_length=100, null=True, blank=True)
reg = models.ForeignKey(NewRegistration)
Application model
class Application(models.Model):
building_storey = models.IntegerField(blank=True, null=True, default=0)
reg = models.ForeignKey(NewRegistration)
我想基于具有土地所有者模型的lo_address_roadname_en和来自NewRegistration模型的某些ward_no以及具有来自NewRegistration模型的某些registration_date的no_of_storey来计数应用程序表的数据 我已经尝试过了。
building_storey = Application.objects.filter(reg__ward_no=ward_no).filter(reg__registration_date__gte=start_date,reg__registration_date__lte=end_date).values('building_storey').annotate(Count('building_storey'))
context['building_storey'] = building_storey
如何从三个表中进行过滤?请帮助我。
答案 0 :(得分:0)
NewRegistration.objects.filter(
registration_date__gt=${date},
Landowner__lo_address_roadname_en=${lo_address_value},
ward_no=${ward_no},
).values('Application__building_storey')
这是从3个表中过滤值的方法。