Django:没有调用外键ID的Field.to_python?

时间:2010-10-21 00:56:52

标签: django django-models django-admin

我有一个Field的子类:

class MyIDField(Field):
    ...
    def to_python(self, value):
        return to_base_36(value)

我将它用作这样的主键:

class Foo(m.Model):
    id = MyIDField(primary_key=True)

class Bar(m.Model):
    foo = m.ForeignKey(Foo)

然后在我访问MyIDField.to_python时调用Bar.foo_id函数:

>>> b = Bar.objects.all()[0]
>>> b.foo_id
1234
>>> b.foo.id
'ya'
>>>

由于一些原因,这很烦人,但最重要的是因为它打破了管理员中的下拉菜单 - 他们没有选择正确的值(菜单项 已经to_python'd ,但默认值为to_python'd)。

这是我做错了吗?或者这是Django的问题?

0 个答案:

没有答案