【发布时间】:2015-05-29 08:29:40
【问题描述】:
嗨,有没有办法在 Django 中过滤字段属性而不是字段值?
例如,对于我的 GUI 布局,我想知道按 max_length 排序的字段的顺序。我的模型:
class Person(models.Model):
name1 = models.CharField(max_length=220, default="")
name2 = models.CharField(max_length=90, default="")
name3 = models.CharField(max_length=30, default="")
name4 = models.CharField(max_length=130, default="")
name5 = models.CharField(max_length=10, default="")
我希望能够找到模型中最长 CharField 的长度,在本例中为 220。我该怎么做?
这只是一个简化的示例,但与我需要的功能相似。为了深入了解我所面临的现实情况:我向我的模型“gui_serial_number”添加了一个自定义属性,我有部分静态模型,其字段如下:
a = CharField(gui_serial_number=10...)
b = CharField(gui_serial_number=20...)
....
n = CharField(gui_serial_number=50...)
我制作了一个动态界面,可以在其中动态地将字段添加到模型中(使用 type() 和 add_to_class() 等),并且用户可以在 GUI 中指定字段应该放置的位置。当没有给出 gui_serial_number 时,我希望能够自动将 gui_serial_number 定义为“max+10”。
【问题讨论】:
标签: python django python-3.x django-models