Djangoのモデルのフィールド、TextFieldとCharFieldの違いについて教えてください。
どちらもviews.pyでCreateViewを継承して、formクラスは特に定義せずにフォームテンプレートを作成して、TextFieldとCharFieldの両フィールドの値を特に何も設定せずに登録すると、
フォーム更新前:
CharFieldの型は、NoneType
TextFieldの型は、NoneType
フォーム更新後:
CharFieldの型は、NoneType
TextFieldの型は、文字列型でnullが設定されます。
下記、モデルの定義です。
Python
1class Test(models.model): 2 class Meta: 3 verbose_name = "テスト" 4 comment1 = models.TextField(verbose_name='コメント1', blank=True, null=True) 5 comment2 = models.CharField(verbose_name='コメント2', blank=True, null=True)
views.py
Python
1class TestCreateView(CreateView): 2 model = Test 3 template_name_suffix = '_form' 4 fields = __all__
上記の通りです。
同じ文字列を扱うフィールドでも、何も設定せずにフォームを登録した場合に値が変わるのはどうしてでしょうか。
あなたの回答
tips
プレビュー