我有一个单元模型和一个租户模型。 `
class Unit(models.Model):
property_name = models.ForeignKey('Property', on_delete=models.CASCADE)
unit_name = models.CharField(max_length=300)
floor = models.IntegerField()
unit_type = models.CharField(max_length=300)
rent_value = models.IntegerField()
occupied = models.BooleanField(default=False)
def __str__(self):
return '%s' % (self.unit_name)
class Tenant(models.Model):
property_occupied = models.ForeignKey('Property', blank=True, default=None, on_delete=models.CASCADE)
unit_occupied = models.OneToOneField('Unit', unique=True, on_delete=models.CASCADE, related_name='tenant')
first_name = models.CharField(max_length=300)
last_name = models.CharField(max_length=300)
id_number = models.IntegerField(unique=True)
phone_number = models.IntegerField(unique=True)
date_occupied = models.DateField(auto_now_add=True)
def __str__(self):
return '%s, %s, %s' % (self.unit_occupied, self.first_name, self.last_name)`
每当我添加租户时,我想将unit.occulated字段更新为true;每当我删除租户时,我想将其更新为false。我想自动执行此操作。我在租户模型上使用onetoone字段将一个单元分配给租户,因为一个单元只能有一个租户
我使用租户表单添加租户,使用单元表单添加单元。在添加/删除租户时,如何更新我要自动添加的租户的特定单位占用字段
这是my views.py: `
def add_tenant(request):
form = AddTenantForm
if request.method == 'POST':
form = AddTenantForm(request.POST)
if form.is_valid():
form.save(commit=True)
messages.success(request, 'Tenant added successfully')
# units = Tenant._meta.get_field('unit_occupied').remote_field.model
# for unit in units:
# ou = unit
# if ou.occupied is False:
# ou.occupied == True
# ou.occupied.save(commit=True)
return redirect('tenants')
# else:
# messages.error(request, 'Unit is already occupied')
else:
form = AddTenantForm
context = {'form': form}
return render(request, 'property/add_tenant.html', context)`
我想出来了 我从租户提交表单中获取了单元,并使用id更新单元模型中的特定单元
相关问题 更多 >
编程相关推荐