我正在试着写一个注册车牌的程序。但是,我们有三种类型的车牌,我为这三种车牌创建了一个选择字段。我想做的事情是,我需要创建一个OneToOne字段,它的给定模型基于选择字段的数据,例如,如果用户选择1,我需要将OnetoOne字段设置为CarPlate,如果设置为2,则将OneToOne字段设置为MotorPlate,依此类推……
VEHICLE_CHOICES = (
("1", "سواری ملی"),
("2", "سواری منظقه ازاد انزلی"),
("3", "موتور سیکلت"),)
class Vehicle(models.Model):
vehicle_type = models.CharField(
max_length=3,
choices=VEHICLE_CHOICES,
blank=False
)
# below is an example of what i want to do
if vehicle_type == 1 :
plate_car = models.OneToOneField(CarPlate, on_delete=models.CASCADE, related_name="savari", blank=True)
elif vehicle_type == 2:
plate_anzali = models.OneToOneField(AnzaliPlate, on_delete=models.CASCADE, related_name="mantaqe", blank=True)
else:
plate_motor = models.OneToOneField(MotorPlate, on_delete=models.CASCADE, related_name="motor", blank=True)上面的代码可以工作,但它没有给我正确的答案。
发布于 2020-06-14 18:33:31
显然,这些类型的设置在模型中是不允许的,但您可以为它们中的每一个编写一个全局字段,然后在项目的前端部分,您只能为所选的选择字段获取所需的字段
https://stackoverflow.com/questions/61124749
复制相似问题