मेरे पास m2m / मॉडल के माध्यम से निपटने और django बाकी ढांचे में उनकी प्रस्तुति के बारे में एक सवाल है। आइए एक उत्कृष्ट उदाहरण लें:
models.py:
from django.db import models
class Member(models.Model):
name = models.CharField(max_length = 20)
groups = models.ManyToManyField('Group', through = 'Membership')
class Group(models.Model):
name = models.CharField(max_length = 20)
class Membership(models.Model):
member = models.ForeignKey('Member')
group = models.ForeignKey('Group')
join_date = models.DateTimeField()
serializers.py:
imports...
class MemberSerializer(ModelSerializer):
class Meta:
model = Member
class GroupSerializer(ModelSerializer):
class Meta:
model = Group
views.py:
imports...
class MemberViewSet(ModelViewSet):
queryset = Member.objects.all()
serializer_class = MemberSerializer
class GroupViewSet(ModelViewSet):
queryset = Group.objects.all()
serializer_class = GroupSerializer
जब सदस्य का एक उदाहरण मिलता है, तो मैं सफलतापूर्वक सदस्य के सभी क्षेत्रों और इसके समूहों को प्राप्त करता हूं - हालांकि मुझे केवल सदस्यों के विवरण मिलते हैं, बिना अतिरिक्त विवरण के जो सदस्यता मॉडल से आता है।
दूसरे शब्दों में, मुझे प्राप्त होने की उम्मीद है:
{
'id' : 2,
'name' : 'some member',
'groups' : [
{
'id' : 55,
'name' : 'group 1'
'join_date' : 34151564
},
{
'id' : 56,
'name' : 'group 2'
'join_date' : 11200299
}
]
}
Join_date पर ध्यान दें ।
मैंने ओह, इतने सारे समाधानों की कोशिश की है, जिसमें निश्चित रूप से इसके बारे में Django रेस्ट-फ्रेमवर्क आधिकारिक पेज शामिल है और कोई भी इसके बारे में उचित सादा जवाब नहीं देता है - मुझे इन अतिरिक्त क्षेत्रों को शामिल करने के लिए क्या करने की आवश्यकता है? मैंने इसे django-tastypie के साथ अधिक सीधे-आगे पाया, लेकिन कुछ अन्य समस्याएं थीं और बाकी ढांचे को प्राथमिकता दी।