0
CIEmailField(null=True)
を使用するとPycharmが "unexpected argument"を表示しますが、CIEmailFieldOld(null=True)
を使用しない場合は表示されません。 null
はまだ私が知る限り有効な議論です、なぜPycharmは私にこの警告を与えていますか?class mixinを使用すると、Pycharmがnull = Trueに対して "予期しない引数"と表示されます。
from django.db.models import *
class CIText:
def db_type(self, connection):
return 'citext'
class CIEmailField(CIText, EmailField):
pass
class CIEmailFieldOld(EmailField):
def db_type(self, connection):
return 'citext'
私はこれを試したところ、うまくいきました。 'CIEmailField'は実際にDjangoのソースコードの一部です:https://docs.djangoproject.com/en/1.11/_modules/django/contrib/postgres/fields/citext/これはバグとみなされます(機能に影響する)、またはそれは何か些細なことですか? – dtgq
つまり、 'CIText' mixinは' __init__'を持たないので、 'EmailField'のinitは有効です(何も上書きしません)ので、IDEを除いて本当に重要なことはありません。 ? – dtgq
あなたは正しいです、それはバグではありません。私は元のコードを誤解しました。これはパイチャの問題です。 –