我正在尝试编写一个程序来注册印版。但是,我们有三种类型的印版,我为这三种创建了一个选择字段。我想做的是,我需要创建一个基于模型数据的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)
上面的代码有效,但它给我的答案不正确。
显然,模型中不允许使用此类设置,但是您可以为它们中的每一个编写一个全局字段,然后在项目的前端部分,您只能获得所选选择字段所需的字段