Database django模型用于处理数据库视图、表
我的数据库中有表books[isbn,name,author,AvailableEnum],students[name,major,coursestaking],course[name,department,number,capacity,booksNeeded],department[name,courses] 我有一个小视图,其中包含所有上述字段{courseName,BooksRecommendated,dept,countofstudents}。 在为视图创建模型时,我应该这样说Database django模型用于处理数据库视图、表,database,django-models,views,Database,Django Models,Views,我的数据库中有表books[isbn,name,author,AvailableEnum],students[name,major,coursestaking],course[name,department,number,capacity,booksNeeded],department[name,courses] 我有一个小视图,其中包含所有上述字段{courseName,BooksRecommendated,dept,countofstudents}。 在为视图创建模型时,我应该这样说 cla
class Lookup(models.Model):
course = models.ForeignKey('course',db_column = 'name')
booksRecommended = models.ForeignKey('books',db_column = 'isbn')
dept = models.ForeignKey('department',db_column = 'name')
studentcount = models.IntegerField()
我收到错误ProgrammingError:column lookup.id不存在。想法是受欢迎的模型。您从中继承的模型假定表(或视图,在您的情况下)有一个名为
id
的列,该列用作主键,除非您明确将其他列标记为primary\u key=True
您视图的sql或
/manage.py inspectdb
应该可以帮助我们找到此视图的主键。您从中继承的models.Model
假设表(或视图,在您的情况下)有一个名为id
的列用作主键,除非您已明确将其他列标记为主键=True
您视图的sql或
/manage.py-inspectdb
应该可以帮助我们找到此视图的主键。此视图没有主键。因此,当我有主键时。/manage.py-inspectdb我看不见。但是将其中一列(唯一)设置为primary_key=True确实解决了问题。感谢Lakshman,但是在视图中,我应该显式指定关系,还是因为数据库视图已经知道约束,我需要担心吗?如果主键的名称是id,django可以猜到,否则,你需要明确地指定它。我错过了这个自动识别模式,这让我损失了一些时间。将primary\u key=True
添加到模型上始终不为空的视图的任何字段中即可解决此问题!此视图没有主键。因此,当我使用/manage.py inspectdb时,我看不到。但是将其中一列(唯一)设置为primary_key=True确实解决了问题。感谢Lakshman,但是在视图中,我应该显式指定关系,还是因为数据库视图已经知道约束,我需要担心吗?如果主键的名称是id,django可以猜到,否则,你需要明确地指定它。我错过了这个自动识别模式,这让我损失了一些时间。将primary\u key=True
添加到模型上始终不为空的视图的任何字段中即可解决此问题!