5

complex名前の付いたフィールドと。という名前の別のフィールドが必要なモデルがありますtype。これらは両方ともPythonの予約名です。PEP 8によるとcomplex_type_それぞれに名前を付ける必要がありますが、djangoでは、末尾にアンダースコアを付けて名前を付けることはできません。これを処理する適切な方法は何ですか?

4

2 に答える 2

4

これらの例に問題はありません。complexとを使用するだけtypeです。非常に限られたスコープ(クラス定義自体)でのみシャドウイングしています。その後、ドット表記(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)
>>> 
于 2009-09-18T18:19:44.070 に答える
1

本当にdb_column="complex"引数を使用して、フィールドを別の名前で呼び出しますか?

于 2009-09-18T18:18:43.463 に答える