【发布时间】:2015-08-03 15:10:15
【问题描述】:
我正在尝试制作一个用于在网络上绘制图表的工具。我有一个这样的模型:
class PlaneableItem(Model):
name = models.CharField(max_length=NAME_LENGTH, blank=True)
class View(PlaneableItem):
# Some useful details
class Anchor(Model):
view = models.ForeignKey(View)
planeable = models.ForeignKey(PlaneableItem)
class BlockRepresentation(Anchor):
# Useful details
class LineRepresentation(Anchor):
# Useful details
我尝试创建一个 rest API,它返回特定视图的所有块和线的列表,包括它们所引用的可飞机的名称。
我可以使用以下方法获得一个查询集:
qs = BlockRepresentation.objects.filter(view=theview).all()
qs.select_related('planeable')
qs.extra(select={'name': 'rest_api_planeableitem.name'})
但是,现在我不能在其上使用 ModelSerializer,因为字段“名称”不是 BlockRepresentation 的一部分。
我真的很喜欢 ModelSerializers,有没有更好的方法呢?
【问题讨论】:
标签: django python-3.x django-rest-framework