0
简单问题:是否可以将所有这些信息以一个管理员表单而不是6个分离的链接进行组织?Django管理员继承
我读过关于django管理继承,但模型之间没有继承,如下所示...那么它将如何工作呢?
models.py
# -*- coding: utf-8 -*-
from django.db import models
# Create your models here.
class User(models.Model):
\t name = models.CharField(max_length=100, verbose_name='Nome Completo')
\t bdate = models.CharField(max_length=10, verbose_name='Data de Nasc.')
\t gender = models.CharField(max_length=15, verbose_name='Sexo')
\t cpf = models.CharField(max_length=14, unique=True, verbose_name='CPF')
\t oab = models.CharField(max_length=15, unique=True, verbose_name='OAB')
\t phone = models.CharField(max_length=15, verbose_name='Celular')
\t email = models.EmailField(max_length=50, verbose_name='E-mail')
\t def __unicode__(self):
\t \t return self.name
\t class Meta:
\t \t verbose_name = u'1.Identificação'
\t \t verbose_name_plural = u'1.Identificação'
class Address(models.Model):
\t user = models.OneToOneField(User, default=0, null=True, blank=True, verbose_name='Nome Completo')
\t cep = models.CharField(max_length=15, verbose_name='CEP')
\t address = models.CharField(max_length=100, verbose_name=u'Endereço')
\t bairro = models.CharField(max_length=100, verbose_name='Bairro')
\t city = models.CharField(max_length=100, verbose_name='Cidade')
\t uf = models.CharField(max_length=50, verbose_name='Estado')
\t class Meta:
\t \t verbose_name = u'2.Endereço'
\t \t verbose_name_plural = u'2.Endereço'
class Pretensoes(models.Model):
\t user = models.OneToOneField(User, default=0, null=True, blank=True, verbose_name='Nome Completo')
\t cargo = models.CharField(max_length=100, verbose_name='Cargo pretendido')
\t salario = models.CharField(max_length=50, verbose_name='Salario pretendido')
\t cidade1 = models.CharField(max_length=50, verbose_name='Cidade 1', default=None)
\t cidade2 = models.CharField(max_length=50, verbose_name='Cidade 2', default=None)
\t cidade3 = models.CharField(max_length=50, verbose_name='Cidade 3', default=None)
\t cidade4 = models.CharField(max_length=50, verbose_name='Cidade 4',default=None)
\t class Meta:
\t \t verbose_name = u'3.Pretensões'
\t \t verbose_name_plural = u'3.Pretensões'
class Graduation(models.Model):
\t user = models.OneToOneField(User, default=0, null=True, blank=True, verbose_name='Nome Completo')
\t scholarity = models.CharField(max_length=50, verbose_name='Escolaridade')
\t course = models.CharField(max_length=100, verbose_name=u'Área/Curso')
\t school = models.CharField(max_length=100, verbose_name=u'Instituição')
\t year = models.CharField(max_length=4, verbose_name=u'Ano de conclusão')
\t others = models.CharField(max_length=300, verbose_name='Outros')
\t msword = models.CharField(max_length=50, verbose_name='Word')
\t msexcel = models.CharField(max_length=50, verbose_name='Excel')
\t msinternet = models.CharField(max_length=50, verbose_name='Internet')
\t class Meta:
\t \t verbose_name = u'4.Escolaridade'
\t \t verbose_name_plural = u'4.Escolaridade'
class Professional(models.Model):
\t user = models.ForeignKey(User, default=0, null=True, blank=True, verbose_name='Nome Completo')
\t company = models.CharField(max_length=100, verbose_name='Empresa')
\t start = models.CharField(max_length=10, verbose_name=u'Mês de entrada')
\t end = models.CharField(max_length=10, verbose_name=u'Mês de saída')
\t p_city = models.CharField(max_length=100, verbose_name='Cidade')
\t p_phone = models.CharField(max_length=15, verbose_name='Telefone')
\t functions = models.CharField(max_length=300, verbose_name=u'Funções')
\t class Meta:
\t \t verbose_name = u'5.Profissional'
\t \t verbose_name_plural = u'5.Profissional'
class Info(models.Model):
\t user = models.OneToOneField(User, default=0, null=True, blank=True, verbose_name='Nome Completo')
\t info = models.TextField(verbose_name=u'Demais informações relevantes')
\t class Meta:
\t \t verbose_name = u'6.Demais informações'
\t \t verbose_name_plural = u'6.Demais informações'
admin.py
# -*- coding: utf-8 -*-
from django.contrib import admin
from models import User, Address, Pretensoes, Graduation, Professional, Info
# Register your models here.
class UserAdmin(admin.ModelAdmin):
list_display = [
'name',
'bdate',
'gender',
'cpf',
'oab',
'phone',
'email',
]
class AddressAdmin(admin.ModelAdmin):
list_display = [
'user',
'cep',
'address',
'bairro',
'city',
'uf',
]
class PretensoesAdmin(admin.ModelAdmin):
list_display = [
'user',
'cargo',
'salario',
'cidade1',
'cidade2',
'cidade3',
'cidade4',
]
search_fields = ['cargo', 'salario']
class GraduationAdmin(admin.ModelAdmin):
list_display = [
'user',
'scholarity',
'course',
'school',
'year',
'others',
'msword',
'msexcel',
'msinternet',
]
list_filter = (
\t ('scholarity'),
\t ('msword'),
\t ('msexcel'),
\t ('msinternet'),
)
search_fields = ['scholarity', 'course', 'school', 'year', 'msword', 'msexcel', 'msinternet']
class ProfessionalAdmin(admin.ModelAdmin):
list_display = [
'user',
'company',
'start',
'end',
'p_city',
'p_phone',
'functions',
]
class InfoAdmin(admin.ModelAdmin):
list_display = [
'user',
'info',
]
admin.site.register(User, UserAdmin)
admin.site.register(Address, AddressAdmin)
admin.site.register(Pretensoes, PretensoesAdmin)
admin.site.register(Graduation, GraduationAdmin)
admin.site.register(Professional, ProfessionalAdmin)
admin.site.register(Info, InfoAdmin)