1
Я начинаю с Django. У меня есть 3 модели, родительский класс «Cliente» и два дочерних класса «Persona» и «Empresa». models.pyДве модели Django с внешними ключами в одном виде
class Cliente(models.Model):
idcliente = models.AutoField(unique=True, primary_key=True)
direccion = models.CharField(max_length=45L, blank=True)
telefono = models.CharField(max_length=45L, blank=True)
email = models.CharField(max_length=45L, blank=True)
def __unicode__(self):
return u'Id: %s' % (self.idcliente)
class Meta:
db_table = 'cliente'
class Empresa(models.Model):
idcliente = models.ForeignKey('Cliente', db_column='idcliente', primary_key=True)
cuit = models.CharField(max_length=45L)
nombre = models.CharField(max_length=60L)
numero_ingresos_brutos = models.CharField(max_length=45L, blank=True)
razon_social = models.CharField(max_length=45L, blank=True)
def __unicode__(self):
return u'CUIT: %s - Nombre: %s' % (self.cuit, self.nombre)
class Meta:
db_table = 'empresa'
class Persona(models.Model):
idcliente = models.ForeignKey('Cliente', db_column='idcliente', primary_key=True)
representante_de = models.ForeignKey('Empresa', null=True, db_column='representante_de', blank=True, related_name='representa_a')
nombre = models.CharField(max_length=45L)
apellido = models.CharField(max_length=45L)
def __unicode__(self):
return u'Id: %s - Nombre completo: %s %s' % (self.idcliente, self.nombre, self.apellido)
class Meta:
db_table = 'persona'
Я хочу, чтобы управлять классом и его родителей в том же виде. Я хочу добавить, отредактировать и удалить «Cliente» и «Persona»/«Cliente» в той же форме. Вы можете мне помочь?
привет, добро пожаловать в Переполнение! Этот основной язык сайта Q & A - английский, можно ли перевести свой вопрос, пожалуйста? –
Если у вас есть 'ForeignKey' с' primary_key = True', вместо этого рассмотрите 'OneToOneField'. –
Изменение ForeignKey to OneToOneField разрешает его. большое спасибо! –