我有点小问题
class Person(models.Model):
cpf = BRCPFField(**unique=true**)
class Student(Person):
new_field = ....
class Teacher(Student):
another_field = ...
class BoardMember(Person):
class Meta:
proxy = True
CPF=USA SSN.
一个人将来可以是学生、董事会成员,学生也可以是教师
当我给一个人注册中央公积金时,没关系。但是,当我尝试将同一个人注册为学生时,python会显示一个错误,因为该字段是唯一的。我怎样才能解决这个问题
表格:
class PersonForm(forms.ModelForm):
class Meta:
model = Person
fields = '__all__'
class BoardMemberForm(PersonForm):
class Meta:
model = BoardMember
fields = '__all__'
class StudentForm(PersonForm):
class Meta:
model = Student
fields = '__all__'
观点:
class StudentCreate(LoginRequiredMixin, CreateView):
model = Student
form_class = StudentForm
login_url = reverse_lazy('users:login')
class BoardMember Create(LoginRequiredMixin, CreateView):
model = BoardMember
login_url = reverse_lazy('users:login')
form_class = BoardMemberForm
学生表格模板:
<form class="row gx-3 gy-2 align-items-center needs-validation" method="post" action=""
role="form" enctype="multipart/form-data">
{% csrf_token %}
{{ form.media }}
<div class="row g-3">
<div class="col-md-3">
<div class="form-floating">
{{ form.cpf }}
<label for="id_cpf">CPF</label>
</div>
</div>
<div class="col-md-6">
<div class="form-floating">
{{ form.nome }}
<label for="id_nome">Nome</label>
</div>
</div>
</div>
<div class="col-auto">
<button type="submit" class="btn btn-primary mb-2">Enviar</button>
</div>
</form>
模板董事会成员表格:
<form class="row gx-3 gy-2 align-items-center needs-validation" method="post" action=""
role="form" enctype="multipart/form-data">
{% csrf_token %}
{{ form.media }}
<div class="row g-3">
<div class="col-md-3">
<div class="form-floating">
{{ form.cpf }}
<label for="id_cpf">CPF</label>
</div>
</div>
<div class="col-md-6">
<div class="form-floating">
{{ form.nome }}
<label for="id_nome">Nome</label>
</div>
</div>
<div class="col-md-6">
<div class="form-floating">
{{ form.function }}
<label for="id_nome">Function</label>
</div>
</div>
</div>
<div class="col-auto">
<button type="submit" class="btn btn-primary mb-2">Enviar</button>
</div>
</form>
目前没有回答
相关问题 更多 >
编程相关推荐