0
我已經看到自定義資源進一步分類的測試代碼。 但它是爲了test
的緣故,不是用於任何實際用途。原因將您自己的資源繼承爲tastypie
爲什麼任何人都想要一個資源的子類爲顯而易見的原因(但顯然不是我)?
一個例子就足夠了。
我已經看到自定義資源進一步分類的測試代碼。 但它是爲了test
的緣故,不是用於任何實際用途。原因將您自己的資源繼承爲tastypie
爲什麼任何人都想要一個資源的子類爲顯而易見的原因(但顯然不是我)?
一個例子就足夠了。
我剛剛遇到了需要繼承資源的情況。 我有了幾個子類,像這樣(我已經簡化了很多)一個Django模型:
class Information(models.Model):
name = models.CharField)
class Question(Information):
question = models.CharField)
class Link(Information):
url = models.CharField()
我要訪問的所有信息對象的API,但還是希望能夠訪問所有每個子類的子類特定屬性。在這種情況下,我想有3個資源:
class InformationResource(ModelResource):
class Meta:
queryset = Information.objects.all()
def dehydrate(self, bundle):
'''Add some extra meta data here'''
class QuestionResource(InformationResource):
class Meta:
queryset = Question.objects.all()
class LinkResource(InformationResource):
class Meta:
queryset = Link.objects.all()
這樣,我對所有返回的信息對象的API(以及通用於所有的人的屬性),但如果我需要訪問子類特定的屬性,我可以通過它們的子類資源API訪問它們。此外,這些子類資源將可以訪問爲其超類定義的所有方法。例如,他們可以重寫超類的脫水方法來添加更多的字段。