2
我想在我的ModelForm
中有age
字段,並用它來填充模型中的birth_year
。
做這件事的慣用方法是什麼?我應該在我的表格或模型或元類中提供什麼方法?如何使用一些計算從不同的ModelForm字段填充模型字段值?
我想在我的ModelForm
中有age
字段,並用它來填充模型中的birth_year
。
做這件事的慣用方法是什麼?我應該在我的表格或模型或元類中提供什麼方法?如何使用一些計算從不同的ModelForm字段填充模型字段值?
from datetime import datetime
import forms
from myapp.models import MyModel
class MyAgeForm(forms.ModelForm):
age = forms.IntegerField()
# define other custom fields here
class Meta:
model = MyModel
# probably define what fields from the model to include/exclude here
def save(self, *args, **kwargs):
self.instance.birth_year = datetime.now().year - self.cleaned_data['age']
return super(MyAgeForm, self).save(*args, **kwargs)
這取決於您是否希望在保存/更新模型實例時填寫'birth_year'字段,或者是否希望它是一個動態解決方案,而不需要保存以更新'birth_year '基於'年齡'? – WTK