2011-02-09 3 views
1

Ниже models.py/admin.pyНедостающие встраивает в Django администратора

Когда я пытаюсь добавить или изменить FashionMaleModel, то встраивает не появляются, но они делают в FashionFemaleModel. Если я изменю порядок, в котором регистрируются админ-сайты, помещая «Мужской» ниже «Женщины», тогда встроенные строки отображаются только в FashionMaleModel, а не в FashionFemaleModel.

Почему мои встроенные линии появляются только в одном или другом?

Спасибо!


Я усекал эти модели, потому что их много. Кроме того, FashionObject/FashionPage являются базовые классы я создал в рамках обычая CMS с идентификатором, имя, PUBLISH_DATE и т.д.

models.py:

class FashionModelRole(models.Model): 
    title = models.CharField(max_length=255,) 

class FashionModelContributor(models.Model): 
    role = models.ForeignKey(FashionModelRole) 
    person = models.ForeignKey(FashionModelPerson, related_name='contributions') 

class FashionModel(FashionObject): 
    gender = models.CharField(max_length=1,choices=(('F','Female'),('M','Male')), 
editable=False) 

class FashionExperience(models.Model): 
    model = models.ForeignKey(FashionModel, related_name = 'experience') 
    division = models.ForeignKey(FashionDivision, related_name = 'levels') 
    experience = models.CharField(max_length=1,choices=(('5','Professional'),('4','Advanced'),('3','Intermediate'),('2','Developing'),('1','Recreational'),)) 

class FashionMaleModel(FashionModel): 
    jacket_size = MeasurementField(max_length=6, blank=True, null=True) 

    def __init__(self, *args, **kwargs): 
     super(FashionMaleModel, self).__init__(*args, **kwargs) 
     self.gender = 'M' 

class FashionFemaleModel(FashionModel): 
    dress_size = MeasurementField(max_length=6, blank=True, null=True) 

    def __init__(self, *args, **kwargs): 
     super(FashionFemaleModel, self).__init__(*args, **kwargs) 
     self.gender = 'F' 

class FashionModelPhoto(models.Model): 
    model = models.ForeignKey(FashionModel, related_name = 'photos') 
    contributors = models.ManyToManyField(FashionModelContributor, null=True, blank=True) 

admin.py:

class FashionExperienceInline(admin.TabularInline): 
    model = FashionExperience 

class FashionModelPhotoInline(admin.TabularInline): 
    model = FashionModelPhoto 

class FashionDivisionAdmin(FashionPageAdmin): 
    def __init__(self, *args, **kwargs): 
     super(FashionDivisionAdmin, self).__init__(*args, **kwargs) 

class FashionModelAdmin(FashionObjectAdmin): 
    def __init__(self, *args, **kwargs): 
     super(FashionModelAdmin, self).__init__(*args, **kwargs) 
     self.inlines += (
      FashionModelPhotoInline, 
      FashionExperienceInline, 
      ) 

class FashionMaleModelAdmin(FashionModelAdmin): 
    def __init__(self, *args, **kwargs): 
     super(FashionMaleModelAdmin, self).__init__(*args, **kwargs) 

class FashionFemaleModelAdmin(FashionModelAdmin): 
    def __init__(self, *args, **kwargs): 
     super(FashionFemaleModelAdmin, self).__init__(*args, **kwargs) 

class FashionModelPersonAdmin(admin.ModelAdmin): 
    def __init__(self, *args, **kwargs): 
     super(FashionModelPersonAdmin, self).__init__(*args, **kwargs) 

class FashionModelRoleAdmin(admin.ModelAdmin): 
    def __init__(self, *args, **kwargs): 
     super(FashionModelRoleAdmin, self).__init__(*args, **kwargs)   

class FashionModelContributorAdmin(admin.ModelAdmin): 
    def __init__(self, *args, **kwargs): 
     super(FashionModelContributorAdmin, self).__init__(*args, **kwargs) 

admin.site.register(FashionMaleModel, FashionMaleModelAdmin) 
admin.site.register(FashionFemaleModel, FashionFemaleModelAdmin) 
admin.site.register(FashionDivision, FashionDivisionAdmin) 
admin.site.register(FashionModelPerson, FashionModelPersonAdmin) 
admin.site.register(FashionModelRole, FashionModelRoleAdmin) 
admin.site.register(FashionModelContributor, FashionModelContributorAdmin) 

ответ

1

Я вынул __init__ функции из FashionMaleModelAdmin и FashionFemaleModelAdmin классов, то я определил Внутристрочные отдельно внутри каждого из них:

inlines = (FashionModelPhotoInline, FashionExperienceInline) 

Кажется, что нужно работать. Спасибо всем, кто посмотрел на это.

+0

Я думаю, что это '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ' – Lexo

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