【问题标题】:Can anyone suggest a database schema for my django project?任何人都可以为我的 django 项目建议一个数据库模式吗?
【发布时间】:2020-03-21 00:35:30
【问题描述】:

我目前正在开发一个使用 Django 框架构建的学生管理 Web 应用程序。我在设计数据库模式时感到困惑。目前有 2 个不同的regulations,每个有 8 个semesters,每个semestersubject namesubject codesubject credit。我想知道如何为这棵树分配数据库模式并将其分配给学生。这样每个学生只有一个regulations,多个semesters和相关属性。任何人都可以建议数据库模式和 Django ORM 吗?

提前致谢!

【问题讨论】:

  • 创建Regulation 模型,然后使用regulation 作为OneToOne 关系创建semester 模型,使用namecode 和@987654336 创建Subject 模型@ 和学期作为OneToOne,创建Student 模型并将Regulation 分配为OneToOne 关系,我认为这会起作用
  • @Mowli 请检查答案。我正在等待您的回复。

标签: django sqlite django-orm


【解决方案1】:

据我了解,尝试制作您的模型。如果我误解了,请告诉我

模型.py

from django.db import models


class Regulation(models.Model):
    name = models.CharField(max_length=50)
    semesters = models.ManyToManyField('Semester', related_name='semester_regulation_set')


class Semester(models.Model):
    name = models.CharField(max_length=10)
    subjects = models.ManyToManyField('Subject', related_name="subject_semester_set")


class Subject(models.Model):
    name = models.CharField(max_length=50)
    code = models.CharField(max_length=10)
    credit = models.IntegerField()
    semester = models.ForeignKey('Semester', on_delete=models.CASCADE)


class Student(models.Model):
    name = models.CharField(max_length=50)
    regulation = models.ForeignKey('Regulation', on_delete=models.CASCADE)

【讨论】:

  • 很高兴听到这个消息:)
猜你喜欢
  • 2012-01-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-20
  • 1970-01-01
  • 2020-04-27
  • 1970-01-01
  • 2011-04-25
相关资源
最近更新 更多