读取Django模型字段选项

1 投票
1 回答
532 浏览
提问于 2025-04-15 14:03

有没有办法读取Django模型字段的选项?比如,给定这个模型:

class MyModel(models.Model):
    source_url = models.URLField(max_length=500)
    ...

也就是说,我想知道怎么在视图或表单中以编程的方式读取'max_length'这个选项。

我现在的解决办法是定义一个单独的类属性:

class MyModel(models.Model):
    SOURCE_URL_MAX_LENGTH=500
    source_url = models.URLField(max_length=SOURCE_URL_MAX_LENGTH)
    ...

这样我就可以在任何导入models.MyModel的地方访问它,比如:

 from models import MyModel
 max_length = MyModel.SOURCE_URL_MAX_LENGTH

1 个回答

5

这样做。

from models import MyModel
try:
    max_length = MyModel._meta.get_field('source_url').max_length
except:
    max_length = None

撰写回答