0
最近,我一直在使用通用題注系統來幫助學生在課堂或實驗室註冊。但是我在Lab類中ManyToManyField的邏輯有問題。Django驗證組模型m2m
from django.db import models
from django.contrib.auth.models import User
class Day(models.Model):
name = models.CharField(max_length=20, primary_key=True)
def __unicode__(self):
return u"%s" % self.name
class LabName(models.Model):
lab_name = models.CharField(max_length=50, primary_key=True)
class Meta:
verbose_name_plural = 'LabNames'
def __unicode__(self):
return u'%s' % self.lab_name
class Lab(models.Model):
name = models.ForeignKey(LabName)
start_hour = models.TimeField()
length = models.IntegerField(help_text="Given in minutes")
classDays = models.ManyToManyField(Day)
start_date = models.DateField()
finish_date = models.DateField()
max_cap = models.SmallIntegerField(help_text="Maximun number of students")
teacher = models.ForeignKey(User, related_name="Teachers")
students = models.ManyToManyField(User)
class Meta:
verbose_name_plural = 'Labs'
def __unicode__(self):
return u"%s %s" % (self.id, self.name)
我寧願一個特定集團()稱爲「學生」比所有的用戶,而相關聯,或者至少過濾器和/或驗證這一領域,只是添加和查看學生也做同樣的用老師領域。
更新1:我剛剛注意到,也許我可以使用可選參數limit_choices_to
篩選某些組中的用戶。
問題是: 如何使用limit_choices_to
參數僅顯示那些在「學生」組或「教師」組中的用戶?
我不是很瞭解你的問題。如果你可以詳細說明/給出例子(如你想要的功能的僞代碼),它會幫助我給你一個答案。 – 2011-03-14 21:38:28
@Yuji,對不起,這是我的第一個問題,英文不是我的母語。也問題更新:) – razpeitia 2011-03-14 22:20:26
它變得更容易,我認爲: 我剛剛編輯這部分: 'teacher = models.ForeignKey(User,related_name =「Teachers」,limit_choices_to = {'id__in':Group.objects 。所有()得到(NAME = '教師')。user_set.all()})' – razpeitia 2011-03-14 22:34:46