有关Django 1.5表单的问题

时间:2015-01-30 10:40:35

标签: django django-models django-forms django-views

这就是场景:我有一个包含许多字段的表单,其中包含一些自己的数据,用户可以更改它们。

在这种形式中,我收集了3种数据:

  1. 第一类数据是用户数据
  2. 第二类数据是用户个人数据和
  3. 第三类数据是用户工作数据。
  4. 工作数据和个人数据使用外键绑定到用户数据。

    当用户点击提交时,我的视图会从请求中收集此数据并将其发送到视图。

    这是问题所在: 这3种类型的数据已经有一个模型和一个模型(我在本网站的另一部分使用它),

    class User(models.Model):
       username = models.CharField(max_length=30, unique=True)
       password = models.CharField(max_length=30)
       email = models.EmailField(unique=True)
       confirmed = models.BooleanField(default=False)
    
    class PersonalData(models.Model):
       user = models.OneToOneField(AtgUser, primary_key=True)
       name = models.CharField(max_length=100)
       surname = models.CharField(max_length=100)
       address = models.CharField(max_length=200, blank=True)
    
    class WorkData(models.Model):
       user = models.OneToOneField(AtgUser, primary_key=True)
       companyname = models.CharField(max_length=100)
    

    他们的相关模型形式:

    class Form1(ModelForm):
      class Meta:
          model = user.User
    
    class Form2(ModelForm):
       class Meta:
          model = user.PersonalData
          exclude = 'user'
    
    class Form3(ModelForm):
       class Meta:
          model = user.WorkData
          exclude = 'user'
    

    但是现在我必须使用包含所有这些数据的新表单:

     class Bigform(Forms.form):
       username = models.CharField(max_length=30, unique=True)
       password = models.CharField(max_length=30)
       email = models.EmailField(unique=True)
       name = models.CharField(max_length=100)
       surname = models.CharField(max_length=100)
       address = models.CharField(max_length=200, blank=True)
       companyname = models.CharField(max_length=100)
    

    这样:

    当我在视图中收到请求时,如何在Bigform中提取部分收集的数据并将这些数据放入他们自己的模型或模型中以便在我的数据库中更新这些数据?

    我想过从Bigform中提取一些字段以填充已存在的模型或模型表单。

    这是正确的方法吗?

    建议?

    提前致谢

0 个答案:

没有答案