【问题标题】:how to store a number for everyone user using django如何使用 django 为每个用户存储一个号码
【发布时间】:2010-04-04 12:31:21
【问题描述】:

模型.py:

class Tribes(Group):

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

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

这个模型怎么写??

谢谢

(我讨厌 sql :( )

更新

这是我的代码:

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

【问题讨论】:

    标签: django model


    【解决方案1】:

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

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

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

    然后,您可以使用自动 user.anothermodel_set RelatedManager 获取用户的另一个模型集(如果用户是用户实例):

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

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

    鉴于您提供的代码,我不完全确定您在做什么。 Position 是您要为每个用户存储的数字吗?如果是这样,你已经做了我先做的事。只需在您的 Position 模型中添加一个数字字段,您就可以使用 user.position_set 获得用户的 position_set。但是,我不确定为一个用户设置多个职位是否有意义。您能否提供更多代码或详细信息来说明您正在做什么?

    【讨论】:

      猜你喜欢
      • 2017-12-03
      • 2017-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-07
      • 2011-07-25
      • 1970-01-01
      相关资源
      最近更新 更多