Post model ve tanımlayıcı modelim var. Her ikisi de postaya göre PK tanımlayıcısı olarak FK ile ilgilidir. Verileri posta tablosundan döndürürken, tanımlayıcı tablo verilerini de döndürmem gerekiyor. Nasıl verimli bir şekilde yapabilirim?django rest framework serializer'da, ana tablo ile birlikte ana anahtar tablosunun verilerini nasıl döndürebilirim?
models.py
class SharedIdentifier(models.Model):
post = models.ForeignKey('post.Post',related_name='ref_posts', on_delete=models.CASCADE)
label = models.CharField(max_length=32)
value = models.CharField(max_length=50)
serializers.py Post
modelin seri hale getirici bir nested relationship ile
class SharedIdentifierSerializer(serializers.ModelSerializer):
class Meta:
model = SharedIdentifier
fields = ('id', 'post', 'label', 'value',)
read_only_fields = ('post')
class PostSerializer(serializers.ModelSerializer):
author = UserSerializer(required=False,)
ref_user = UserSerializer(read_only=True)
ref_user_id = serializers.PrimaryKeyRelatedField(queryset=User.objects.all(), write_only=True, source='ref_user')
identifier = serializers.CharField(max_length=32, write_only=True)
identifier_info = SharedIdentifierSerializer(required=False,many=True,read_only=True)
class Meta:
model = Post
fields = ('id', 'author', 'ref_user', 'ref_user_id', 'status', 'message', 'type', 'parent_id', 'rating', 'create_date', 'close_date','identifier','identifier_info',)
read_only_fields = ('status', 'close_date', 'author', 'ref_user','identifier_info',
Model kodunuzu gönderir misiniz? Modellerinizin arasındaki ilişkiyi anladığımdan emin değilim. –
Eklenen model kodu. –
Identifier_info serializer alanına 'source = ref_posts' eklemeyi deneyin. İstediğiniz verileri nerede arayacağınızı bilmeyecek gibi görünüyor. –