如何使用django为每个用户存储一个数字

时间:2010-04-04 12:31:22

标签: django model

model.py:

class Tribes(Group):

    members = models.ManyToManyField(User, related_name='tribes', verbose_name=_('members'))

我想在int字段中存储一个数字,用户可以有很多这个数字。

如何编写这个模型??

感谢

(我讨厌sql :()

更新

这是我的代码:

class Position(models.Model):
    LatLng = models.ForeignKey(User)

1 个答案:

答案 0 :(得分:0)

听起来你想要每个用户的数字列表。您可以将其实现为普通的ForeignKey关系或以某种方式序列化列表。

使用ForeignKey,您只需创建另一个模型:

class AnotherModel(models.Model):
    number = models.IntegerField()
    user = models.ForeignKey(User)

然后,您可以使用自动user.anothermodel_set RelatedManager(如果用户是用户实例)获取用户AnotherModel集:

user_numbers = [x.number for x in user.anothermodel_set.all()]

如果您只想为一个用户存储一堆数字(并且不需要对它们运行查询),您可以使用pickle或类似的东西序列化列表。

考虑到你提供的代码,我不完全确定你在做什么。是您要为每个用户存储的数字?如果是这样,你已经完成了我先做的事情。只需在您的位置模型中添加一个数字字段,您就可以使用user.position_set获取用户的position_set。但是,我不确定为一个用户提供多个职位是否有意义。你能否提供更多关于你正在做什么的代码或细节?