Джанго: определение отношений OneToMany
Я смущен определением OneToMany
отношение в Джанго, которого нет в Джанго. ManyToOne
поле может быть сделано с помощью ForeignKey
но у меня нет идеи определить для OneToMany.
вот моя проблема, я хочу добавить пользователей в список к модели.
Class Post(models.Model):
postcontent = models.CharField(max_length=2000)
votedusers = ??? # list of users who voted
Просто в нем должны быть перечислены пользователи, которые проголосовали за сообщение. Как этого добиться?? Заранее спасибо.
2 ответа
Это должно быть отношение " многие ко многим":
Class Post(models.Model):
postcontent = models.CharField(max_length=2000)
votedusers = models.ManyToManyField(User)
Вы не можете увидеть документы здесь: Django Docs
Это пример:
from django.db import models
class Reporter(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=30)
email = models.EmailField()
def __str__(self): # __unicode__ on Python 2
return "%s %s" % (self.first_name, self.last_name)
class Article(models.Model):
headline = models.CharField(max_length=100)
pub_date = models.DateField()
reporter = models.ForeignKey(Reporter)
def __str__(self): # __unicode__ on Python 2
return self.headline
class Meta:
ordering = ('headline',)
В вашем случае должно быть:
Class Post(models.Model):
postcontent = models.CharField(max_length=2000)
votedusers = models.ForeignKey(Users) # list of users who voted