Django rest framework сохранение данных в несколько таблиц из одного представления
Я новичок в DRF, мне нужно сохранить данные в две таблицы базы данных через viewset, и я не знаю, как это сделать. Я использую react для своего фронтенда вот мои модели
from django.db import models
# Create your models here.
class Customer(models.Model):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=255)
phone = models.CharField(max_length=255)
town = models.CharField(max_length=255)
region = models.CharField(max_length=255)
added_on = models.DateTimeField(auto_now_add=True)
objects = models.Manager()
class Order(models.Model):
id = models.AutoField(primary_key=True)
order_no = models.CharField(max_length=255)
customer_name = models.CharField(max_length=255)
phone = models.CharField(max_length=255)
town = models.CharField(max_length=255)
region = models.CharField(max_length=255)
farmer_id = models.ForeignKey(Farmer, on_delete=models.CASCADE)
price_per_kgs = models.CharField(max_length=255)
kgs = models.CharField(max_length=255)
packaging = models.CharField(max_length=255)
transport = models.CharField(max_length=255)
discount = models.CharField(max_length=255)
amount = models.CharField(max_length=255)
status = models.BooleanField(default=False)
added_on = models.DateTimeField(auto_now_add=True)
objects = models.Manager()
и вот мой сериализатор
from rest_framework import serializers
# Create your serializers here
from barakasalessystemApp.models import Farmer, Customer, Bill, Payments, Orders
class FarmerSerializer(serializers.ModelSerializer):
class Meta:
model = Farmer
fields = "__all__"
class CustomerSerializer(serializers.ModelSerializer):
class Meta:
model = Customer
fields = "__all__"
class OrdersSerializer(serializers.ModelSerializer):
class Meta:
model = Orders
fields = "__all__"
def to_representation(self, instance):
response = super().to_representation(instance)
response["farmer"] = FarmerSerializer(instance.farmer_id).data
return response
это мое мнение
Я хочу хранить данные клиентов из таблицы orders без необходимости вводить их снова, потому что они все одинаковые
Вы можете использовать вложенные сериализаторы для этого типа функциональности, и тогда необходимо переопределить метод create и save