2013-03-22 30 views
1

我有一套人,我想联系每个人的个人信息和事情列表的卡片,这个列表没有固定大小(它可能有一个或多个字段), admin负责填写此列表。django模型 - 可以管理添加变量到表?

我如何赋予管理员权限,通过管理页面添加额外的字段(不是编码)?是否有可能或是否必须使用固定大小的列表?

class Admin(models.Model): 
     first_name = models.CharField(max_length=50) 
     last_name = models.CharField(max_length=50) 
     birth_date = models.DateField(blank=True, null=True) 
     address = models.CharField(max_length=100, blank=True, null=True) 
     city = models.CharField(max_length=50, blank=True, null=True) 
     phone_number = models.CharField(max_length=20, blank=True, null=True) 
     email = models.EmailField(blank=True, null=True) 

     def __unicode__(self): 
      return u'%s %s' % (self.first_name, self.last_name) 


class Person(models.Model): 
    first_name = models.CharField(max_length=50) 
    last_name = models.CharField(max_length=50) 
    birth_date = models.DateField(blank=True, null=True) 
    address = models.CharField(max_length=100, blank=True, null=True) 
    city = models.CharField(max_length=50, blank=True, null=True) 
    phone_number = models.CharField(max_length=20, blank=True, null=True) 
    email = models.EmailField(blank=True, null=True) 
    admin = models.ForeignKey(Admin, blank=True, null=True) 

    def __unicode__(self): 
     return u'%s %s' % (self.first_name, self.last_name) 


class Card(models.Model): 
    id_number = models.IntegerField(default=0) 
    person = models.OneToOneField(Person, primary_key=True) 

    def __unicode__(self): 
     return unicode(self.id_number) 



class Things_to_do(models.Model): 
    name = models.CharField(max_length=50) 
    repetitions = models.IntegerField(default=0, blank=True, null=True) 
    series = models.IntegerField(default=0, blank=True, null=True) 
    executions = models.IntegerField(default=0, blank=True, null=True) 
    rest_time = models.IntegerField(default=0, blank=True, null=True) 
    card = models.ForeignKey(Card, blank=True, null=True) 

    def __unicode__(self): 
     return unicode(self.name) 
+0

我不明白...为什么一个'Card'附加到'Things_to_do'和一个'Person'附加到那个。另外为什么'Admin'和'Person'基本上是相同的模型?我觉得你的设计是这里的问题,而不是管理页面......如果你能更好地解释它,我可以尝试提供帮助。 – Ngenator 2013-03-24 00:28:48

+0

每个人都有一张卡片,里面充满了管理员要做的事情列表。管理员必须能够创建新的卡片,修改现有的卡片并将其关联到个人。每个人都可以登录,只能看到他/她自己的卡片。你能建议一个更好的设计吗?谢谢 – avafab 2013-03-24 08:58:29

回答

相关问题