什么是用于命名作为python保留名称的django模型字段的正确习惯用法?

时间:2009-09-18 17:48:09

标签: python django idioms

我有一个模型,需要有一个名为complex的字段和另一个名为type的字段。这些都是python保留名称。根据PEP 8,我应该分别命名为complex_type_,但是django不允许我使用带有尾随下划线的字段。什么是处理这个的正确方法?

2 个答案:

答案 0 :(得分:4)

这些例子没有问题。只需使用complextype即可。你只是在一个非常有限的范围内阴影(类定义本身)。之后,您将使用点表示法(self.type)访问它们,因此没有歧义:

Python 2.6.2 (release26-maint, Apr 19 2009, 01:58:18) 
[GCC 4.3.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> class Foo(object):
...     type = 'abc'
... 
>>> f = Foo()
>>> f.type
'abc'
>>> class Bar(object):
...     complex = 123+4j
... 
>>> bar = Bar()
>>> bar.complex
(123+4j)
>>> 

答案 1 :(得分:1)

你真的想使用db_column="complex"参数并将你的字段称为别的吗?