CharField に基づいてカスタム Django モデル フィールド サブクラスを作成しましたが、to_python を使用して、返されるモデル オブジェクトがより複雑なオブジェクト (リスト、特定の形式の辞書など) を持つようにします。MySQL を使用しています。そのため、一部の PostGreSql フィールド タイプは使用できません。
すべてがうまく機能していますが、Pylint はこれらのフィールドのすべての値が文字列になると信じているため、これらのモデルを使用するコードで多くの「unsupported-membership-test」および「unsubscriptable-object」警告が表示されます。これらを個別に無効にすることもできますが、これらのモデルが特定のオブジェクト タイプを返すことを Pylint に知らせたいと思います。型ヒントは役に立ちません。例:
class MealPrefs(models.Model):
user = ...foreign key...
prefs: dict = custom_fields.DictOfListsExtendsCharField(
default={'breakfast': ['cereal', 'toast'], 'lunch': []},
)
特定の組み込み Django フィールドが Pylint (CharField、IntegerField) の正しい型を返し、他の特定の拡張機能がその型を指定する方法を見つけたので、Pylint は満足しています (MultiSelectField) が、それらのコードを掘り下げると、わかりません返されるタイプを指定する「魔法」はどこにありますか。
(注: この質問は、Django フォーム フィールドの INPUT:type とは関係ありません)
ありがとう!