Display ForeingKey field in serializer

Viewed 23

i was search everywhere and tried multiple difference solutions, but i stacked and i dont know how to solve. So im tried display in my schema foreign key field to add some ID,

right know looks like that

{
"status": "Pracuje",
"work_started": "string",
"end_work": "string",
"daily_hours": "string",
"date": "2022-09-07"


 }

but i want to add one more name into that but its a foreignkey,

my route looks like :

@monter_route.post('/daily/start-work/', tags=['Daily'])
async def start_work(type_daily: TypeDailyMontageUtils, day_montage: DayMontageUtils,
                     monter_daily: checker,
                     authorize: AuthJWT = Depends()):
    authorize.jwt_required()
    current_user = authorize.get_jwt_subject()
    team = await Team.get(team=current_user)
    objects = []
    montage = await DailyMontage.create(team=team, type=type_daily, day_montage=day_montage,date=datetime.date.today())
    objects.append(montage.pk)
    if objects:
        # monter_pk = await Monter.get(pk=monter_id)
        montage_pk = await DailyMontage.get(id=objects[0])
        start_works = await MonterDailyMontage.create(daily_montage=montage_pk,**monter_daily.dict())
        return start_works

and model like that:

class MonterDailyMontage(models.Model):
    name = fields.ForeignKeyField("models.Monter", related_name="monter_name",
                                  on_delete=fields.CASCADE)
    daily_montage = fields.ForeignKeyField("models.DailyMontage",
                                           related_name="daily_montage",
                                           on_delete=fields.CASCADE)
    status = fields.CharEnumField(StatusMonterUtils, default="Pracuje")
    work_started = fields.TimeField(blank=True, null=True, default=None)
    end_work = fields.TimeField(blank=True, null=True, default=None)
    daily_hours = fields.TimeField(blank=True, null=True, default=None)
    date = fields.DateField(default=datetime.date.today())
    created_at = fields.DatetimeField(auto_now_add=True)
    updated_at = fields.DatetimeField(auto_now=True)

    class Meta:
        unique_together = (('name', 'date'),)

i know i can and name_id:int into my route, but i want add more then one record so i need add value name into json schema.

0 Answers
Related