首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django模型设计

Django模型设计
EN

Stack Overflow用户
提问于 2015-08-12 23:45:21
回答 1查看 56关注 0票数 0

我是django的新手,需要django模型的帮助。

我需要在django的sqlite数据库中存储以下类型的记录。我如何设计一个可以存储这些数据的模型。

我可以使用SmallIntegerField存储Room_no,使用CharField存储Student_name。

但是我不确定如何存储Sports数组。我想以这样的方式存储它,以防我必须列出任何运动的所有学生,查询数据库应该是有效的。

代码语言:javascript
复制
  {
    "Room_no": 2,
    "Student_name": "XYZ",
    "Sports": [
      "Football",
      "Tennis",
      "Cricket"
    ]  
  }

我能想到的一种方法是:

代码语言:javascript
复制
class Sports(models.Model):
        sports = models.CharField(max_length=100)

class Student(models.Model):
        Student_name = models.CharField(max_length=255)
        Room_no = models.IntegerField()
        sports = models.ManyToManyField(Sports)

Django版本: 1.8.3

EN

回答 1

Stack Overflow用户

发布于 2015-08-12 23:55:49

下面是我如何将其与其他一些python和Django标准的代码样式更改一起使用。

代码语言:javascript
复制
# Your models name should be singular rather than plural.
class Sport(models.Model):
        # Use name here rather than sports since it's more descriptive.
        name = models.CharField(max_length=100)

class Student(models.Model):
        # You're in the student model, it can be assumed that the name is the student's name.
        name = models.CharField(max_length=255)
        # The fields should be lower case.
        room_no = models.IntegerField()
        sports = models.ManyToManyField(Sport)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31969914

复制
相关文章

相似问题

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