Django modelimde 10 tane alanım var ve 3 tane de yabancı anahtar var. Bir GET isteğinden alınan JSON verilerimde, tüm alanları alıyorum, ancak yabancı anahtarları değil.Yabancı anahtar öğelerini yükleme Tastypie
Ben de bunu yapmış, ama yine de bu JSON veri alanları almıyorum: Örneğin
DataFields = MyData._meta.get_all_field_names()
class MyResource(ModelResource):
class Meta:
queryset = MyData.objects.all()
resource_name = 'Myres'
serializer = Serializer(formats=['json'])
filtering = dict(zip(DataFields, [ALL_WITH_RELATIONS for f in DataFields]))
, ben city
gibi modelinde alanı var, ama bu alan mevcut değildir JSON ondan alırım.
JSON'da city:city__name
'u otomatik olarak alabilir miyim? Eğer bunu yaparsam
, o zaman ben şehir olsun ama tanımlamadan bunu yapabilir:
def dehydrate(self, bundle):
bundle.data["city_name"] = bundle.obj.city__name
return bundle
Herhangi bir kaynak tanımlamaksızın bunu yapmak için herhangi bir yolu var mı. Othwise, her modelimin kaynağını djnago'da yapmaya çalışıyorum. Zaman israfı değil mi – user825904
Ek kaynak yapmak en iyi seçim olacaktır. Çıplak minimum kaynak oluşturabilir, bunları API’dan uzak tutabilirsiniz (bunları URL’lerinize eklemeyin) ve bunları "full = True" ile gömebilirsiniz. O kadar fazla iş olmayacak. Aksi halde, dehidrat yöntemi alternatiftir. – Blake