Ecommerce Vente نشر 19 سبتمبر 2022 أرسل تقرير نشر 19 سبتمبر 2022 السلام عليكم كيف أعمل nested serializers ب django rest framework Models class Profile(models.Model): display_name = models.CharField(max_length=30) mobile = models.IntegerField() address = models.TextField() email = models.EmailField() dob = models.DateField() photo=models.FileField(upload_to='profile/',null=True,blank=True) status = models.IntegerField(default=1) created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) class Hobby(models.Model): user=models.ForeignKey(Profile,on_delete=models.CASCADE,related_name='user_hobby',null=True,blank=True) name = models.CharField(max_length=30) description = models.TextField() status = models.IntegerField(default=1) created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) 1 اقتباس
1 Ahmed Sadek Elamine Touahria نشر 19 سبتمبر 2022 أرسل تقرير نشر 19 سبتمبر 2022 في مجلد التطبيق الخاص بك ، تقوم بإنشاء ملف serializer.py. from rest_framework import serializers from .models import Profile,Hobby # ننشأ السيريالايز الخاص بهاذ المودل class HobbySerializer(serializers.ModelSerializer): class Meta: model = Hobby fields = '__all__' class ProfileSerializer(serializers.ModelSerializer): user_hobby = HobbySerializer(many=True) """هل لاحظت أنني أتصل بفئة HobbySerializer الخاصة بي في ProfileSerializer. وهذا ما يسمى تداخل المتسلسلات. للتعامل مع طريقة POST ، سأتجاوز طريقة الإنشاء التي أحفظ بها بيانات الملف الشخصي ثم أحفظ هواية الشخص الذي تم إنشاء ملفه الشخصي. الآن دعنا ندعو ProfileSerializer لدينا في العرض.""" class Meta: model = Profile fields = '__all__' def create(self, validated_data): user_hobby = validated_data.pop('user_hobby') profile_instance = Profile.objects.create(**validated_data) for hobby in user_hobby: Hobby.objects.create(user=profile_instance,**hobby) return profile_instance ثم في ملف views : from rest_framework import viewsets from .models import Profile from .serializers import ProfileSerializer # في هاذ الكلاس نقوم بالتحكم في عرض البيانات class ProfileViewset(viewsets.ModelViewSet): #البيانات المراد عرضها queryset = Profile.objects.all() # شكل البيانات serializer_class = ProfileSerializer # http طرق استعلام http_method_names = ['get','post','retrieve','put','patch'] 1 اقتباس
السؤال
Ecommerce Vente
السلام عليكم كيف أعمل nested serializers ب django rest framework
Models
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.