在Django模型中创建继承类的关系

时间:2015-12-01 00:17:31

标签: python django django-models

我正在建立一个导师和教练网站。我一直在设计数据库应该如何使用Django模型。请帮忙纠正我。

  1. 实体:
    • 用户(用户名,密码,姓名)
    • 用户的子类
      • 教练(小时,主题)
      • 学生()
  2. 关系:

    • 辅导(coach_username,tutor_username,date)

      class User(models.Model): 用户名

  3. 这是我实施的Django模型:

    class User(models.Model):
        username = models.CharField(primary_key=True, max_length=100, blank=False, null=False)
        password = models.CharField(max_length = 100, blank = False, null = False)
        name = models.CharField(max_length = 100, blank = False, null = False)
        def __str__(self):
            return self.username + " " + self.name
    
    class Coach(User):
        subject = models.CharField(max_length = 50, blank = False, null = False)
        hour_rate = models.FloatField(default = 0.00)
        def __str__(self):
            return self.username + " " + str(self.hour_rate)
    
    class Student(User):
        def __str__(self):
            return self.username + " " + self.name
    
  4. 现在我有继承设置,但我不知道如何设置两个属性为同一用户实体的关系。请帮忙,这是一团糟。

    class tutoring(models.Model):
       coausr = models.ForeignKey(User)
       tutusr = models.ForeignKey(User)
       date = models.DateTimeField(auto_now_add = False, auto_now = "True")
       def __str__(self):
            return self.coausr + " " + self.tutusr 
    
  5. 如果我的Django模型的整个结构是错误的,或者我不想这样做,请教我正确的方法。在建立关系之后,请演示如何在python shell中与它进行交互。谢谢。

0 个答案:

没有答案