创建模型(数据库相关)

我们需要将使用者的提交记录都存到数据库表里以便追溯和统计,这里会在页面展示使用数

1、编写代码

在./apps/user/models.py下编写代码(类似于数据库语句),按照自己的需求来编排字段

class CreateUserTable(models.Model):
    """
    创建用户
    """
    id = models.AutoField(primary_key=True, verbose_name='主键id')
    user_name = models.CharField(max_length=20, null=True, verbose_name='用户名')
    is_marital = models.BooleanField(null=True, verbose_name='是否结婚')
    environment = models.CharField(max_length=10, verbose_name='环境')
    birthdate = models.CharField(max_length=30, null=True, verbose_name='出生日期')
    weight = models.IntegerField(null=True, verbose_name='体重')
    SEX_CHOICES = [
        ('1', '男'),
        ('2', '女')
    ]
    sex = models.CharField(choices=SEX_CHOICES, max_length=10, verbose_name='性别')
    personality_label = models.CharField(max_length=100, null=True, verbose_name='个性标签')
    interest = models.CharField(max_length=100, null=True, verbose_name='爱好')
    motto = models.TextField(null=True, verbose_name='座右铭')
    create_time = models.DateTimeField(auto_now=True, verbose_name='创建时间')
    update_time = models.DateTimeField(auto_now=True, verbose_name='更新时间')
    create_by = models.CharField(max_length=10, null=True, default='sys', verbose_name='创建人')

    class Meta:
        db_table = 'create_user'

2、创建表

在命令行执行以下命令后,TestDataFactory数据库中会创建create_user

python manage.py makemigrations
python manage.py migrate

创建form表单字段

本功能使用form表单提交数据,则需要规范提交所需的字段,也可以加入参数规则对数据进行合法校验 (如字段长度、数据类型、数据的匹配等),当输入不合法的数据,会对使用者进行提示。./apps/user/form.py编写代码

class createUserForm(forms.Form):
    """
    创建用户
    """
    user_name = forms.CharField(max_length=20, min_length=1, required=True, error_messages={
        'max_length': '用户名最大长度为10',
        'min_length': '用户名最小长度为1',
        'required': '用户名必填',
    })
    environment = forms.CharField(required=True)
    is_marital = forms.BooleanField(required=True)
    birthdate = forms.CharField(required=True)
    sex = forms.IntegerField(required=True)
    weight = forms.IntegerField(required=True)
    personality_label = forms.CharField(max_length=100, required=False, error_messages={
        'max_length': '个性标签为100',
    })
    interest1 = forms.CharField(required=False)
    interest2 = forms.CharField(required=False)
    interest3 = forms.CharField(required=False)
    interest4 = forms.CharField(required=False)
    interest5 = forms.CharField(required=False)
    motto = forms.CharField(max_length=1000, required=False, error_messages={
        'max_length': '座右铭最大长度为1000',
    })

版权声明:如无特殊说明,文章均为本站原创,转载请注明出处

本文链接:http://zhangyanc.club/subject/article/tools_dajngo_modle/

许可协议:署名-非商业性使用 4.0 国际许可协议