РЕДАКТИРОВАНИЕ ОДНО ДЛЯ ВСЕХ

Как сделать так, чтобы при изменении значения с true на false или наоборот в одном месте, все остальные менялись. class Ralevant по умолчанию True class Rooms по умолчанию True класс Registration значение изменяется и если в классе Registration изменить значение с true на false, то класс Room и Ralevant также должны измениться


from django.contrib.auth.models import User
import datetime

class Ralevant(models.Model):
    bool_roo = models.BooleanField(default=True)

    def __str__(self):
        return f'{self.bool_roo}'
year=datetime.datetime.now().year
month=datetime.datetime.now().month
day = datetime.datetime.now().day

class Rooms(models.Model):
    room_num = models.IntegerField()
    room_bool = models.ForeignKey(Ralevant, on_delete=models.CASCADE,
                                  related_name='name1')  
    category = models.CharField(max_length=150)
    def __str__(self):
        return f'{self.room_num}'

class Registration(models.Model):
    rooms = models.ForeignKey(Rooms, on_delete=models.CASCADE)
    first_name = models.CharField(max_length=150)
    last_name = models.CharField(max_length=150)
    admin = models.ForeignKey(User, on_delete=models.CASCADE)
    pasport_serial_num = models.CharField(max_length=100)
    birth_date = models.DateField()
    img = models.FileField()
    visit_date = models.DateTimeField()
    leave_date = models.DateTimeField(default=datetime.datetime(year=year,month=month,day=day+1,hour=12,minute=00,second=00))
    guest_count = models.IntegerField()
    room_bool = models.ForeignKey(Ralevant, on_delete=models.CASCADE,
                                  related_name='name2')
    def __str__(self):
        return self.rooms,self.last_name,self.first_name

Вы можете реализовать это в вашей views.py или в вашей serializers.py, просто импортировать модель и обновить Model.objects.filter(pk=obj.pk).update() что-то вроде этого

    def obj(request, pk,):
    reg = Registration.objects.get(pk=pk)
    room = Rooms.objects.get(pk=pk)
    if reg.room_bool == True:
        room.room_bool = True
        room.save()

    if reg.room_bool == False:
        room.room_bool = False
        room.save()
Вернуться на верх