gpt4 book ai didi

django - 向 Django 添加简单的自定义字段——如何编写 South Introspection 规则

转载 作者:行者123 更新时间:2023-12-04 14:31:54 26 4
gpt4 key购买 nike

我正在尝试向使用 South 的 Django 项目添加自定义字段.因此,我尝试(第一次)写introspection rules for South .我相信我的案例是最简单的,因为我只是在扩展一个 CharField。具体来说:

class ColorField(models.CharField):
def __init__(self, *args, **kwargs):
kwargs['max_length'] = 10
super(ColorField, self).__init__(*args, **kwargs)

def formfield(self, **kwargs):
kwargs['widget'] = ColorPickerWidget
return super(ColorField, self).formfield(**kwargs)

这是来自名为 jQuery color picker model field 的 Django 片段对于那些感兴趣的人。

由于我没有添加任何新属性,我相信我只需要添加这些代码行:
from south.modelsinspector import add_introspection_rules
add_introspection_rules([], ["^myproject\.myapp\.models\.ColorField"])

这可能很明显,但他们应该去哪里?另外,我的假设是我必须做的一切正确吗?

我已经回顾了这里发布的几个问题,但大多数都处理更复杂的内省(introspection)。

根据 http://south.readthedocs.org/en/latest/customfields.html#where-to-put-the-code ,我尝试将代码放在定义自定义字段的 models.py 文件的顶部。但这并没有奏效。

最佳答案

简单的回答:是的,代码应该放在定义字段的 models.py 文件中。正确的代码是:

from south.modelsinspector import add_introspection_rules
add_introspection_rules([], ["^myapp\.models\.ColorField"])

不知道为什么我把项目名称放在那里。

关于django - 向 Django 添加简单的自定义字段——如何编写 South Introspection 规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11642268/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com