как сохранить номер для каждого пользователя, используя django - PullRequest
0 голосов
/ 04 апреля 2010

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 голосов
/ 04 апреля 2010

Похоже, вы хотите список номеров для каждого пользователя. Вы можете реализовать это как обычные отношения ForeignKey или как-то сериализовать список.

Используя ForeignKey, вы просто создаете другую модель:

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

Затем вы можете получить пользовательский набор AnotherModel с помощью автоматического user.anothermodel_set RelatedManager (если пользователь является экземпляром пользователя):

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

Если вы просто хотите сохранить набор чисел для одного пользователя (и вам не нужно выполнять запрос к ним), вы можете сериализовать список с помощью pickle или чего-то подобного.

Учитывая предоставленный вами код, я не совсем уверен, что вы делаете. Позиция - это номер, который вы хотите сохранить для каждого пользователя? Если так, ты сделал то, что я сделал первым. Просто добавьте числовое поле к вашей модели позиции, и вы можете получить position_set пользователя с помощью user.position_set. Однако я не уверен, что имеет смысл иметь много позиций для одного пользователя. Не могли бы вы предоставить больше кода или подробностей о том, что вы делаете?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...