2015-01-17 3 views
0

Я хотел бы иметь возможность хранить список пользователей (встроенный в Django AUTH пользователей модуля) в качестве поля в моей модели, вроде как это:Django: Список пользователей в модели?

class EducationalClass(models.Model): 
    students = UserListField() 

Очевидно нет UserListField, так мой вопрос: как мне сохранить список пользователей в моей модели?

ответ

2

Почему бы не использовать поле ManyToMany, связанное с вашим объектом User?

class EducationalClass(models.Model): 
    students = models.ManyToManyField(User) 

Тогда для любого заданного EducationalClass вы можете получить доступ к .students.all(), .students.filter(...) и все другие методы, доступные для querysets.

+0

FK будет целесообразным, если каждый учебный класс может относиться только к одному пользователю - отношение MTM предполагает, что каждый класс может иметь много учеников, и каждый учащийся может принадлежать многим классам. (Это был ответ на комментарий, который теперь был удален, я оставлю его здесь для уточнения, если кто-то еще прочтет это и подумает об использовании ForeignKey) – souldeux

+0

О, ничего себе! Я даже не знал о поле ManyToMany. Ясно, что мне нужно немного узнать о Django ... – russjr08

+1

Не беспокойтесь! Ознакомьтесь с документами в доступных типах полей: https://docs.djangoproject.com/en/1.7/ref/models/fields/#field-types – souldeux

Смежные вопросы