如何将django模型类中的选项选项绑定到函数

时间:2016-01-03 22:15:17

标签: django django-models

我有一个带外部功能的模型:

def dtChoices(self):
    language = dbModels.objects.filter(pk=self.dbTable.dbSchema.dbModel).values_list('DbType__DbType', flat=True)
    enumerations = []
    datatypes = RefDatatype.objects.values_list('pk', language).all()
    for dt in datatypes:
        enumerations.append((dt[0],dt[1]))
    return enumerations

class dbColumn(models.Model):
    ColumnName = models.CharField(max_length=255)
    dbTable = models.ForeignKey(dbTable, related_name='column')
    Nullable = models.BooleanField(default=True)
    DataType = models.IntegerField(choices=dtChoices(self=self))
    DataLength = models.IntegerField(null=True, default=255)
    DataPrecision = models.IntegerField(default=0, null=True)

层次结构为dbColumn-> dbTable

在表单,管理员和DRF中,我必须选择dbTable。首先,我不需要知道,我需要根据输出生成的列表来dbColumn field,并从列表中进行选择。输出需要父表中的参数,该参数由dbTable field

链接

如何从dbColumn字段的选项中获得所需内容?

1 个答案:

答案 0 :(得分:1)

在您使用的地方无法访问

self。 您需要使用Django Forms并根据选定的dbTable

自定义表单字段的选项