У меня проблема, и я очень устал. У меня есть Сервисная Модель, и она имеет много связей с другими моделями! Это моя модель:
class Service(models.Model):
user_iduser = models.ForeignKey(User, models.DO_NOTHING, db_column='User_idUser') # Field name made lowercase.
request_date = models.DateTimeField(blank=True, null=True)
country = CountryField(blank_label='(إختر الدولة)') # ++++++++++++++++++
insurance = models.OneToOneField(Insurance, models.DO_NOTHING, blank=True, null=True)
omra = models.OneToOneField(Omra, models.DO_NOTHING, blank=True, null=True)
organized_journey = models.OneToOneField(OrganizedJourney, models.DO_NOTHING)
other = models.OneToOneField(Other, models.DO_NOTHING, blank=True, null=True)
temp_hotel_reservation = models.OneToOneField('TempHotelReservation', models.DO_NOTHING, blank=True, null=True)
temp_ticket = models.BooleanField(blank=True, null=True)
ticket = models.OneToOneField('Ticket', models.DO_NOTHING, blank=True, null=True)
travel_hotel_reservation = models.OneToOneField('TravelHotelReservation', models.DO_NOTHING, blank=True, null=True)
visa = models.OneToOneField('Visa', models.DO_NOTHING, blank=True, null=True)
visa_rdv = models.BooleanField(blank=True, null=True)
visa_request_form = models.BooleanField(blank=True, null=True)
client = models.ManyToManyField("Client")
is_active = models.BooleanField(default=True)
class Meta:
managed = True
db_table = 'service'
unique_together = (('id', 'user_iduser'),)
def __str__(self):
return f'service to client {self.country}'
проблема заключается в следующем: я хочу создать API для этой модели, и он будет содержать вложенные API другой модели, например:
{
clients: [
{
firstName_ar,
lastName_ar,
firstName_fr,
lastName_fr,
passport_id,
phone,
email_fb,
date_birth
place_birth
},
{
firstName_ar,
lastName_ar,
firstName_fr,
lastName_fr,
passport_id,
phone,
email_fb,
date_birth
place_birth
}
]
country: 'DZ',
insurance: {
number: 1245454,
} || False,
omra:{
food: true,
duration: 15,
start_date: '2020-04-05',
hotel_name: 'INTTIC Residence',
area: 'Makkah',
distance_from_haram: 5000,
room_size: 4
},
organized_journey: {
duration: 45,
start_date: '2020-04-05',
room_type: 3
},
other: {
name: 'Name',
details: 'Details'
},
temp_hotel_reservation: {
type: 'voucher'
},
temp_ticket: true,
ticket: {
type: 'CHTK',
number: 484544
},
travel_hotel_reservation: {
city: 'Chlef',
reservation_number: 12154
},
visa: {
duration: 45,
single_voyage: True,
},
visa_rdv: true,
visa_request_form: true,
}
я нашел в Django Rest Framework документы о вложенном API, но когда я попробовал его, он дал мне API дочерней модели с API-интерфейсом службы внутри него.
я надеюсь получить ответ в ближайшее время! большое спасибо