2013-03-20 227 views
1

我创建管理页面,使用这种模式:Django管理关系过滤

Model.py:

class Company(models.Model): 
     name = models.CharField(max_length=50) 
     mail = models.EmailField(null=True, blank=True) 
     NIF = models.CharField(max_length=9, null=True, blank=True) 
     def __unicode__(self): 
       return self.name 

class Office(models.Model): 
     company = models.ForeignKey(Company) 
     name = models.CharField(max_length=50, default='Main') 
     dir = models.CharField(max_length=50) 
     def __unicode__(self): 
       return self.name 

class Employee(models.Model): 
     oficina = models.ForeignKey(Office) 
     name = models.CharField(max_length=50) 
     mail = models.EmailField(null=True, blank=True) 
     def __unicode__(self): 
       return self.name 

class Report(models.Model): 
     employee = models.ForeignKey(Employee) 
     problem = models.CharField(max_length=100) 
     finished = models.BooleanField() 

我有一个问题,当我想创建一个新的ReportForm ...有很多员工! 我想在管理员页面询问员工之前过滤

首先询问公司,当公司被指示时,询问办公室,并在指定办公室时选择员工。 有可能做到这一点?

这是我现在的Admin.py:

class ReportForm(admin.ModelAdmin): 
     fieldsets = [ 
       (None, { 
         'fields': ['employee', 'problem', 'finished'] 
       }), 
     ] 

admin.site.register(Report, ReportForm) 

回答