我有两个外键相连的机型,如下所示:
class Service(models.Model):
title = models.CharField(max_length=100)
counter = models.PositiveIntegerField()
def __str__(self) -> str:
return f'{self.title}'
class Reservation(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
service = models.ForeignKey(Service, on_delete=models.CASCADE)
turn = models.GeneratedField(expression='',
output_field=models.CharField(max_length=1),
db_persist=True,)
def __str__(self) -> str:
return f'{self.user}'
我想要做的是,Reservation
中的turn
字段获得选项choices
,选项的值从1到service.counter
.service
是这里的外键.例如,如果Service
模型中的counter
为5,则Reservation
中的turn
字段如下所示:
turn = models.PositiveIntegerField(choices=[1,2,3,4,5])
.For循环显然不会起作用:).
我应该创建property
字段还是Meta类?
不管怎么说,我怎么能像这样改变我的领域呢?
任何帮助都会令人感激和感激.
after one hour searching, I think for a better approach to solve this. I'v change 100 field into a Generated field so we make a query and assert it to the database, but I'm not sure how to do that? Can anyone help?