django - 如何通过一些计算从不同的 ModelForm 字段中填充模型字段值?

标签 django django-models django-forms django-1.3

我想在我的 ModelForm 中包含 age 字段,并用它来填充模型中的 birth_year
这样做的惯用方法是什么?我应该在我的表单或模型或元类中提供什么方法​​?

最佳答案

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)

关于django - 如何通过一些计算从不同的 ModelForm 字段中填充模型字段值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7463643/

相关文章:

django - 如何获取 Django 中模型实例的外键表的名称?

python - 模板中的Django外键关系

使用自定义模型 User 进行 Django 身份验证

python - 比较两个列表中的元素时使用 django ORM 的最有效方法

python - 如果已经有django项目,如何使用startproject(django-admin.py)?

django - 如何将 django html 模板渲染为纯文本?

python - 如何在自定义页面 Django 中使用管理表单

django - 如何以编程方式在 Django 中存储 S3 图像

python - 限制每组 n 个结果 - Django queryset

python - 在 Django 上显示空的 GET 表单而不引发任何错误