开发者社区> 问答> 正文

Django:我的对象A的B上有FK。如何以A的形式在下拉列表中显示B中的列?

我收到错误“为会话指定了未知字段(主题,主题)”。我正在尝试在sessionForm中创建主题和主题的下拉列表。

我的模型如下:

class Subject(models.Model): name = models.CharField(max_length = 30, primary_key = True)

def __str__(self):
  return self.name

class Meta:
    db_table = 'subjects'  

class Module(models.Model): topic = models.CharField(max_length = 200)
subject = models.ForeignKey(Subject, on_delete=models.CASCADE)

def str(self): return self.topic + ' in ' + self.subject.name

class Meta: db_table = 'modules'

class Session(models.Model): grade_level = models.CharField(max_length = 30) num_students = models.IntegerField(default=0) session_dt = models.DateTimeField() module = models.ForeignKey(Module, on_delete=models.CASCADE)

@property def subject(self): return self.module.subject

def topic(self): return self.module.topic

def str(self): return self.module.topic + ' on ' + self.session_dt

class Meta: db_table = 'sessions' 我的forms.py是

class SessionForm(forms.ModelForm):

class Meta:
    model = Session      
    fields = ['subject', 'topic', 'session_dt', 'grade_level', 'num_students']

我是Django和Python的新手。我已经看过下拉列表中的Vitor Freitas文章。

展开
收起
被纵养的懒猫 2019-09-24 13:21:34 417 0
0 条回答
写回答
取消 提交回答
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载