2015-01-11 2 views
-2

Извините, но я начинаю с программирования Django, и мне нужна помощь.Наследование модели Django на основе значения атрибута?

Мне нужен класс (наследование), когда родительский атрибут является истинным, и, следовательно, когда нужно искать дочерний класс, принесите все, чтобы этот атрибут соответствовал true.

Смотрите код:

class Person(models.Model): 
    name = models.CharField(max_length=200) 
    active = models.BooleanField(default=True) 
    customer = models.BooleanField(default=False) 
    employee = models.BooleanField(default=False) 
    vendor = models.BooleanField(default=False) 
    def __str__(self): 
     return self.nome 

class People(Person): 
    registration_number = models.CharField(max_length=14) 
    birth_date = models.DateField() 
    sex = models.CharField(max_length=1) 

class Company(Person): 
    registration_number = models.CharField(max_length=20) 
    foundation_date = models.DateField(blank=True, null=True) 
    class Meta: 
     ordering = ["nome"] 

class Customer(Person): 
    # I want to consider all Person object with customer=True 
+0

Не уверен, что вы пытаетесь совершить здесь ... – Brandon

ответ

1

Вам просто нужно отфильтровать Person запрос следующим образом:

customers = Person.objects.filter(customer=True) 

Вам не нужен еще один класс

Смежные вопросы