РЕДАКТИРОВАНИЕ ОДНО ДЛЯ ВСЕХ
Как сделать так, чтобы при изменении значения с 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()