【发布时间】:2021-08-31 19:33:08
【问题描述】:
class Person(models.Model):
id = models.IntegerField(unique=True,null=False,primary_key=True,blank=False)
name = models.CharField(max_length=10,null=False)
username = models.CharField(max_length=10,unique=True)
class Attend(models.Model):
date = models.DateField()
people = models.ManyToManyField(Person,related_name="attend",through='attendperson')
我想返回 Person,只使用过滤器 Attend(按 date)
例如:
id = 1 的人注册了这些参加日期 =2021-06-15 和另一个
日期 = 2021-06-29
我想对 Person 进行序列化,并过滤即将到来的 attend
注意:
p = Person.objects.filter(id=1)[0]
p.attend.filter(date__gte='2021-06-18')
serial = PersonSerializer(p).data
没有效果
【问题讨论】:
-
@AnkitTiwari 这将返回所有相关数据,我希望基于过滤器的部分相关对象对其进行序列化
-
好的,你想要所有的数据,但你只得到一个?
-
不,我只想要一个但获取所有数据
-
访问 person.attend 时我想要过滤数据,而不是尝试 person.attend.filter(date__gte='2021-06-16') 时的所有数据 将其传递给序列化程序时不会影响 person.attend
标签: django django-models django-rest-framework