我需要我的用户能够说出他们所说的语言,所以我很自然地从这样开始:
class Language(models.Model):
name = models.CharField(max_length=128)
class UserProfile(models.Model):
languages = models.ManyToManyField("Language", related_name="users")但是后来我发现了这个:
from django.conf.global_settings import LANGUAGES我想使用它,即使只是为了遵守DRY原则。问题是,我不知道如何允许用户使用多种语言。
发布于 2012-01-18 19:57:21
不如..。
class LanguageSpoken(models.Model):
user = models.ForeignKey("UserProfile")
language = models.CharField(max_length = 2, choices = LANGUAGES)我假设你不需要保存任何关于这种语言的其他数据(比如说这种语言的国家),你只需要用户列出他们说的语言。如果您确实需要保留其他数据,则必须使用多对多关系。
https://stackoverflow.com/questions/8909545
复制相似问题