0
我有一个字段“名”,它会自动从“FIRST_NAME”和“姓氏”中的一个子类构成:设置编辑=只是假的子类
from django.db import models
from django.utils.translation import ugettext_lazy as _
class Actor(models.Model):
name = models.CharField(_('name'), max_length=60)
class Company(Actor):
pass
class Person(Actor):
first_name = models.CharField(_('first name'), max_length=30, blank=True)
last_name = models.CharField(_('last name'), max_length=30, blank=True)
email = models.EmailField(_('e-mail address'), unique=True)
def save(self, *args, **kwargs):
if self.first_name or self.last_name:
self.name = (self.first_name + ' ' + self.last_name).strip()
else:
self.name = self.email
super(Person, self).save(*args, **kwargs)
我想在“名称”字段可以在Actor和Company模型中编辑,但不能在Person模型中编辑。我怎么能做到这一点?
我不能加入
name = models.CharField(_('name'), max_length=60, editable=False)
到Person模型覆盖领域的定义,因为Django的类‘人’的冲突引起了FieldError(“本地场‘名’与基地类似名称的领域班'演员'“)。