Django 如何定义依赖整数字段

Django 如何定义依赖整数字段,django,django-models,Django,Django Models,我是Django的初学者,有一个模特 class myModel(models.Model): XYZ = ( (1, "X"), (2, "Y"), (3, "Z"), ) ABC = ((1, "xA"), (2, "xB"), (3, "xC"), (4, "yA"), (5, "yB"), (

我是Django的初学者,有一个模特

class myModel(models.Model):

    XYZ = ( (1, "X"), (2, "Y"), (3, "Z"), )

    ABC = ((1, "xA"), (2, "xB"), (3, "xC"),  (4, "yA"), (5, "yB"),
        (6, "yC"), (7, "yD"), (8, "zA"), (9, "zB"), )

    xyz = models.IntegerField(_('XYZ_Field'), choices=XYZ)
    abc = models.IntegerField(_('ABC_Field'), choices=ABC)
我想将abc定义为一个相关字段

例如,如果用户为xyz选择“X”,则选择abc的有效值仅为

或者,如果用户选择“Z”作为xyz,他可以选择zA或zB作为abc字段的正确值

如何在models.py中定义它

我试图将XYZ定义为字典,但不知道如何使用它来定义abc的choices参数

    XYZ = { (1, "X"): ((1, "xA"), (2, "xB"), (3, "xC")),
            (2, "Y"): ((4, "yA"), (5, "yB"),(6, "yC"), (7, "yD")),
            (3, "Z"): ((8, "zA"), (9, "zB"))}


    xyz = models.IntegerField(_('XYZ_Field'), choices=XYZ)
    abc = models.IntegerField(_('ABC_Field'), choices=**?????**)
有人说它必须在forms.py中处理,但我想在models.py中处理一次。因此,所有使用此模型的表单都不需要实现特定的标准

任何帮助都将受到感谢