stackover
stackover

Reputation: 6935

django models to work with database views,tables

My database has the tables books[isbn,name,author,availableNum],students[name,major,coursestaking],course[name,department,number,capacity,booksNeeded],department[name,courses] I have a small view that has fields from all the above {courseName,booksRecommended,dept,countofstudents}. When creating a model for view should I say something like this.

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()

I'm getting the error ProgrammingError: column lookup.id does not exist. Ideas are welcome

Upvotes: 1

Views: 1537

Answers (1)

lprsd
lprsd

Reputation: 87205

The models.Model that you have inherited from assumes that the table (or the view, in your case) has a column called as id that is used as a primary key, unless you have explicitly marked some other column to be primary_key = True.

Your view's sql, or the ./manage.py inspectdb should help us find the primary key for this view.

Upvotes: 2

Related Questions