我的 Django 模型看起来像:
class Session(models.Model):
...
class Document(models.Model):
session = models.ForeignKey(Session)
date_created = models.DateTimeField(auto_now_add=True)
class Meta:
abstract = True
class Invoice(Document):
number = models.PositiveIntegerField()
# and some other fields
class SupplyRequest(Document):
# fields here
这样,每个Invoice
和SupplyRequest
实例都链接到一个Session
并具有一个date_created
属性。好的。所以,我创建了一个ModelResource
forSession
和 for Invoice
,想象 Tastypie 可以透明地遍历Document
模型字段。但不起作用:
class SessionResource(ModelResource):
class Meta:
queryset = Session.objects.all()
...
class InvoiceResource(ModelResource):
session = fields.ForeignKey(SessionResource, 'session')
class Meta:
queryset = Invoice.objects.all()
...
当我尝试序列化发票时,我收到以下错误消息:
NoReverseMatch: Reverse for 'api_dispatch_detail' with arguments '()' and keyword arguments '{'pk': 1, 'resource_name': 'session'}' not found.
有没有办法使用 Tastypie 处理模型继承?
我忘了提到Document
模型是一个抽象类。