Django - Нужны некоторые рекомендации о том, как реализовать базу данных ManyToMany - PullRequest
2 голосов
/ 20 октября 2010

Я хочу, чтобы пользователи могли указывать, какие страны они посетили. My models.py выглядит примерно так:

class User(models.Model):
      name = models.CharField(max_length=50)
      countries = models.ManyToManyField(Countries)

class Countries(models.Model):
      #This is where I don't know what to do.
      #The end goal is for the user to be able to check off what countries he/she has visited

Ответы [ 3 ]

2 голосов
/ 20 октября 2010

Вы бы создали отношения наоборот

 class User(models.Model):
     name = models.CharField(max_length=50)

 class Countries(models.Model):
     user = models.ForeignKey(User)

Если вы используете встроенные в django пользовательские вещи, вам нужно только это.

from django.contrib.auth.models import User

class Countries(models.Model):
    user = models.ForeignKey(User)
1 голос
/ 20 октября 2010

Поля отношения уже генерируют атрибут в другой модели для обратного отношения, если явно не отключено.

0 голосов
/ 20 октября 2010

Вы в порядке, как и в случае с ManyToManyField.

Теперь вам нужно создать форму для этой модели, чтобы ваши пользователи могли сделать отметку.

...