1

我有一组人,我想为每个人关联一张带有个人信息的卡片和一个待办事项列表,这个列表没有固定大小(它可能有一个或多个字段),管理员是负责填写这份清单。

如何授予管理员权限以通过管理页面在这些卡片中添加额外字段(不是编码)?有可能还是我必须使用固定大小的列表?

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)
4

1 回答 1

0

您可以尝试创建自定义 JSONField:http ://djangosnippets.org/snippets/1478/

有了这样的东西,您将能够将所有字段存储为字典。试试看:如何在 Django 数据库模型的字段中存储字典

于 2013-03-22T23:52:55.417 回答