models.py
from django.db import models
from django import forms
class History(models.Model):
commentTypes = (
('1', 'issues'),
('2', 'risks'),
('3', 'dependencies'),
('4', 'accomplishments'),
('6', 'UGM')
)
historyID = models.IntegerField()
projectID = models.IntegerField()
userID = models.CharField(max_length=6)
logComments = models.TextField(max_length=1000)
timeStamp = models.DateTimeField(auto_now_add=True, auto_now=False)
commentType = models.CharField(max_length=1,choices=commentTypes)
forms.py
class statusTab(ModelForm):
class Meta:
model = History
fields = ['logComments']
views.py
def projectTabs(request):
form = statusTab(request.POST or None)
context = {
"form":statusTab,
}
if request.method == 'POST' and form.is_valid():
instance = form.save(commit=False)
#instance.historyID = instance.object_instance.pk
instance.projectID = 1337
instance.userID = request.user
# instance.commentType
instance.save()
return render(request, "projects/project.html", context)
は、だから私の質問は、私はのためのテキストボックスを作成できるようにしたいですユーザーはプロジェクトに関する情報を入力します。 models.textField
を使用する場合を除いて、それはlogComments: *textbox*
を入れ続け、私は "logComments"タイトルを望ましくありません。私はドキュメントを見てみましたが、これを編集する方法の兆候を示すものはないようです。Django - モデルのフォームとモデルのフォームの編集、model.textFieldの編集、オブジェクトのpkの取得?
forms.someField
をmodels.someField
よりも使用した場合の違いは何ですか?私の質問の他の部分につながります。フォームにはさらにカスタマイズがあるようです。私はMySQLデータベースを使用していますので、モデル・フォームを使用したいと思っていましたが、不満足なことにカスタマイズできず、何か不足しているかどうか不思議です。
最後に、オブジェクトインスタンスのpk idを取得する方法。すべてのコメントを一意のキーで記録する必要があるので、なぜdb内のpkに対応していないのか分かりません。私は何を検索しても、私はpkを返すメソッドを見つけることができません。私が見つけた最も近いものは、動作しないinstance.object_instance.pkの行に沿ったものでした。
これについてのガイダンスは素晴らしいものです。 Djangoのドキュメンテーションは、モデルフォームに関しては欠けているようです。