Обновление поля таблицы, связанной с внешним ключом, при вставке новой записи в первую таблицу django - PullRequest
0 голосов
/ 21 апреля 2020

У меня есть две таблицы, мне нужно обновить статус таблицы Tour после проверки предыдущего статуса

Table Tour

class Tour(BaseModel):
    statuses = [
        ('DRAFT', 'Draft'),
        ('ACTIVE', 'Active'),
        ('PAID', 'Paid'),
        ('COMPLETED', 'Completed')
        ]

    status = models.CharField(max_length= 100, choices=statuses, default="DRAFT")

Table Billing

class Billing(BaseModel):
    tour=models.ForeignKey(Tour, on_delete=models.PROTECT)
    total=models.FloatField(null=True)  

views.py

class BillingViewSet(viewsets.ModelViewSet):
    queryset = Billing.objects.all()
    serializer_class=Billlingerializer

serializers.py

class Billlingerializer(serializers.ModelSerializer):
    class Meta:
        model = Billing
        fields ='__all__'

всякий раз, когда новая запись добавляется в Таблица счетов нам нужно изменить статус на ОПЛАЧЕНО в Таблица тура ,

У меня есть и другие таблицы, что похоже на биллинг, если добавляется какая-либо запись, там также необходимо изменить статус завершен или активен и т. д. c. Итак, нам нужен общий метод, определенный в модели Tour, который можно вызывать из сериализаторов или представлений. Пожалуйста, помогите мне, спасибо заранее.

...