我有以下模型類。如何從UserProfile獲取特定用戶
這裏是我的「用戶」應用程序的UserProfile模型。它是Django(django.contrib.auth)用戶應用程序的ProfileModel。
from django.db import models
from django.contrib.auth.models import User
from apps.programs.models import Program
class UserProfile(models.Model):
user = models.ForeignKey(User, primary_key=True)
USER_TYPES = (
('STUD', 'Students'),
('INST', 'Instructors'),
('ADV', 'Advisers'),
('BRAN', 'Branch Workers')
)
status = models.CharField(max_length=4, choices=USER_TYPES)
program = models.ForeignKey(Program)
phone_number = models.CharField(max_length=25, blank=True)
def __unicode__(self):
return u'%s %s %s' % (self.user, self.status, self.program)
這是我的「課程」應用程序的課程模型。
from django.db import models
from apps.programs.models import Program
from apps.users.models import UserProfile
class Course(models.Model):
code = models.CharField(max_length=6, primary_key=True)
id = models.PositiveIntegerField()
name = models.CharField(max_length=60)
course_language = models.CharField(max_length=3)
credit = models.DecimalField(max_digits=10, decimal_places=1)
schedule = models.CharField(max_length=30, blank=True)
program = models.ForeignKey(Program)
SEMESTER = (
('f', 'Fall Semester'),
('s', 'Spring Semester'),
('b', 'Both Semesters'))
semester = models.CharField(max_length=1, choices=SEMESTER, blank=True)
description = models.TextField(blank=True)
def __unicode__(self):
return self.name
這是我的「課程」應用程序,我要去哪裏來存儲一些教師含鉛一些課程我InstructorCourse模型。 「課程」字段與課程模型以及具有UserProfile模型的「指導員」相關聯。這是問題。
class InstructorCourse(models.Model):
course = models.ForeignKey(Course, name='course_name')
instructor = models.ForeignKey(UserProfile, name='instructor_username')
def __unicode__(self):
return u"%s %s" % (self.course_name, self.instructor_name)
的問題是,當我嘗試在管理員添加一個教練,我得到的所有用戶在系統中,因爲教練領域需要用戶配置和獲得所有用戶。但這不是我想要的。我只需要用戶使用UserProfile模型的'狀態'字段的'INST'值。有人可以幫助我嗎?我應該爲InstructorCourse模型創建自己的經理嗎?或者我該怎麼做?