Formクラス内のDjangoフィールドの値を設定しようとしています。これが私のモデルです
class Workout(models.Model):
user = models.ForeignKey(User , db_column='userid')
datesubmitted = models.DateField()
workoutdate = models.DateField();
bodyweight = models.FloatField(null=True);
workoutname = models.CharField(max_length=250)
これが私がこれを達成しようとしているフォームクラスです:
class WorkoutForm(forms.ModelForm):
class Meta:
model = Workout
def __init__(self,*args, **kwargs):
# this is obviously wrong, I don't know what variable to set self.data to
self.datesubmitted = self.data['datesubmitted']
わかりました、ごめんなさい。私はこのように私のビューでrequest.POST
データを渡しますWorkoutForm
w = WorkoutForm(request.POST)
ただし、残念ながら、html要素の名前はモデルの名前とは異なります。たとえばdate submitted
、htmlにはフィールドがありません。これは事実上、作成されてデータベースに保存されるタイムスタンプです。
ですから、なんとかしてフォームクラス内に保存できるようにする必要があると思います。
そのため、datesubmitted
フィールドを次のように設定しようとしています。datetime.datetime.now()
基本的に、検証を容易にするためにフォームクラスを使用していますが、HTML出力用のフォームは使用していません。これは完全に無視しています。