我正在尝试使用Tastypie与ManyToMany关系使用中间模型(通过关键字)(https://docs.djangoproject.com/en/dev/topics/db/models/#extra-fields-on-many-to-many - 关系)
我正在使用这些模型:
class Point(models.Model):
...
value = models.FloatField(_('Value'), null=True)
rooms = models.ManyToManyField('rooms.Room', through='points.PointPosition')
class Room(models.Model):
title = models.CharField(max_length=64)
class PointPosition(models.Model):
point = models.ForeignKey('points.Point', verbose_name=_('Point'))
room = models.ForeignKey('rooms.Room', verbose_name=_('Room'))
x = models.IntegerField(_('Y'))
y = models.IntegerField(_('X'))
Run Code Online (Sandbox Code Playgroud)
我已经能够获取多对多关系,但不能获取额外的字段.这是我的tastypie代码:
class PointResource(ModelResource):
class Meta:
queryset = Point.objects.select_related(
depth=10
).prefetch_related('rooms').all()
resource_name = 'point'
allowed_methods = ['get']
...
value = fields.FloatField()
rooms = fields.ToManyField('rooms.api.RoomResource', 'rooms', full=True)
class RoomResource(ModelResource):
class Meta:
queryset = Room.objects.all()
resource_name = …Run Code Online (Sandbox Code Playgroud)