我是Python Django的新手,我想进行查询
class A(models.Model):
foo = models.IntegerField(default=0)
from_time = models.DateTimeField('start time')
to_time = models.DateTimeField('end time')
class B(models.Model):
model_a = models.ForeignKey(A, on_delete=models.PROTECT, related_name='model_a')
model_c = models.ForeignKey(C, on_delete=models.PROTECT, related_name='model_c')
class C(models.Model):
id = models.IntegerField(default=0)
name = models.CharField(max_length = 20)
我想查询当前时间在model_a.from_time和model_a.to_time之间的B类。为此,我尝试过
B.objects.filter(model_c=model_c_id, model_a.to_time__gte=start_date, model_a.to_time__lte=end_date)
它给我语法错误SyntaxError: expression cannot contain assignment, perhaps you meant "=="?
您使用错误的语法来扩展relationship
B.objects.filter(model_c__id=model_c_id, model_a__to_time__gte=start_date, model_a__to_time__lte=end_date)