Форма Джанго, чтобы позволить, добавить человека и его иждивенцев - PullRequest
0 голосов
/ 19 февраля 2012

Я пишу веб-сайт, который будет сохранять семейные данные в области.Я хочу иметь форму, которая позволит мне добавить информацию о главе семьи и его / ее иждивенцах.Мои модели следующие:

class Person(models.Model):  
    name = models.CharField(max_length=80)
    sex  = models.CharField(max_length=2)
    dob = models.DateField(verbose_name = 'Date of Birth', blank=True)
    id_no = models.CharField(verbose_name='National ID Card No', max_length=20)
    education = models.CharField(max_length=30, blank=True)    
    class Meta:
        abstract = True

class FamilyHead(Person):
    father_name = models.CharField(verbose_name = 'Father/Husband Name', max_length=100)
    profession = models.CharField(max_length=40)
    marital_status = models.CharField(max_length=10)
    birth_place = models.CharField(verbose_name='Birt Place', max_length=30, blank=True)
    mobile_no = models.CharField(max_length=20)
    email = models.EmailField(max_length=40, blank=True)
    house_address = models.TextField(max_length = 100)

class AdultDependant(Person):
    guardian = models.ForeignKey('FamilyHead')
    relatin_w_guardian = models.CharField(max_length=20)
    marital_status = models.CharField(max_length=10, choices = STATUS)
    profession = models.CharField(max_length=40)

Я хочу создать форму, которая позволит мне добавить FamilyHead и его / ее несколько иждивенцев.Как это сделать с Django?

1 Ответ

1 голос
/ 19 февраля 2012

Если вы этого еще не сделали, пожалуйста (пере) прочитайте документацию form и modelform , чтобы хотя бы вы знали, где что.

Относительно вашего конкретногослучае, вам нужно 2 экземпляра формы.Один ModelForm для FamilyHead и один встроенный набор форм для списка форм AdultDependant.

Может показаться немного сложным, когда вы впервые используете такие функции из Django, ноне паникуйте, Джанго делает это довольно легко.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...