Create an interface in Django to the MovieLens dataset.
After completing this assignment, you should be able to:
- Create a new Django application
- Translate real-world data to Django models
- Explain what a database is
- Explain what a model is
- Use the Django admin
- Structure the Django admin to reflect your data
- A Git repo called django-movies containing at least:
- a
requirements.txt
file - a
README.md
file - a Django project called
movieratings
- a
Choose a dataset from the MovieLens dataset options and read its README.
Create a new Django application in the movieratings
project to hold your
models.
Create Django models for users (call the model Rater
so as not to
confuse it with Django users), movies, and ratings. Make sure that your models
can contain the data from your dataset.
Create Django admin pages for your models.
Start adding methods to your models that you will need later. For movie
,
you'll want the average rating for each movie, and the ability to get the
top movies by rating.
For rater
, you'll want the average rating that rater gave to a movie, and
the ability to get the top movies that rater has not seen. You will also want
to be able to find the Euclidean distance between that rater and another using
their movie ratings. (See our command-line version of this
to see more.)
In order to do this, you'll want to read up on the model layer of Django.
Try to test these new methods. Read Testing in Django and then either look at django-nose or pytest-django.