Saya mencoba membuat serial model yang berisi bidang properti yang juga ingin saya buat bersambung.
models.py:
class MyModel(models.Model):
name = models.CharField(max_length=100)
slug = models.AutoSlugField(populate_from='name')
@property
def ext_link(self):
return "/".join([settings.EXT_BASE_URL, self.slug])
serializers.py:
class MyModelSerializer(serializers.ModelSerializer):
class Meta:
model = MyModel
fields = ('name', 'ext_link')
Saat mencoba untuk mendapatkan ke URL terkait, saya mendapatkan pengecualian serializer (KeyError) pada ext_link
properti.
Bagaimana saya bisa membuat serial ext_link
properti?
django-rest-framework
Sander Smits
sumber
sumber
fields
, dalam contoh di atas, Anda akan mendapatkan semuaMyModel
kolom plusext_link
di data serial. Dan ini sangat bagus untuk model yang kompleks! EDIT : Setidaknya, ini benar untukdjangorestframework==2.3.14
.fields = "__all__"
saya juga harus menambahkanmyfield = serializers.ReadOnlyField()
sebagai jarmod yang ditentukan, menggunakan versi 3.7.7sebagai
@Robert Townley
komentar, ini bekerja dengan versi3.8.2
:class MyModelSerializer(serializers.ModelSerializer): ext_link = serializers.ReadOnlyField() class Meta: model = MyModel fields = "__all__"
sumber