首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在django中定义类关系

在django中定义类关系
EN

Stack Overflow用户
提问于 2011-04-10 05:16:21
回答 3查看 165关注 0票数 0

我是Django/Python的新手,所以请原谅我的问题是显而易见的!

我正在尝试创建一个用户类,每个用户都可以选择(一个或多个)体育学科作为自己的爱好。

到目前为止,我在一个名为Hobbies的类中定义了所有的体育活动:

代码语言:javascript
复制
class Hobbies(models.Model):
    sports_name = models.IntegerField()

和user类:

代码语言:javascript
复制
class Profile(models.Model):
    user = models.ForeignKey(User, unique=True)
    gender = models.CharField(max_length=1,blank=True)

我不知道如何继续,因为我之前没有使用django/Python的经验。

我需要在我的user类中创建一种数组,用来存储某个用户“注册”的所有爱好。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-04-10 05:21:50

将多对多字段添加到您的配置文件模型中,这使您能够在用户和爱好之间创建关系:

代码语言:javascript
复制
class Profile(models.Model):
  user = models.ForeignKey(User, unique=True)
  gender = models.CharField(max_length=1, blank=True)
  hobbies = models.ManyToManyField(Hobbies)

然后,您可以通过执行相关查找来获得用户爱好的列表:

代码语言:javascript
复制
user = Profile.objects.get(pk=1)
hobbies = user.hobbies.all()

更多信息:http://docs.djangoproject.com/en/dev/ref/models/fields/#manytomanyfield

票数 1
EN

Stack Overflow用户

发布于 2011-04-10 05:20:24

这个问题表明您完全没有使用关系数据库的经验。由于Django模型(几乎)直接映射到底层数据库关系,我建议您深入研究一些数据库(框架和语言不可知)教程//书。

要做到这一点,请查看this stackoverflow question。然后选择一个关系型数据库管理系统(PostgreSQL是很好的,开源的,免费的)并进行一些实验,然后回到Django。

票数 0
EN

Stack Overflow用户

发布于 2011-04-10 05:21:27

对我来说听起来像是M2M的关系。下面是如何做到这一点的:http://docs.djangoproject.com/en/dev/topics/db/models/#many-to-many-relationships

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5607965

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档