Error : "You are trying to add a non-nullable field"
Here is what I did to fix the same issue
- Comment the foreign key reference in videodata and run the makemigrations and migrate
- Add the model in admins.py and make a new entry in table
- Now uncomment the foreign key reference and provide a default=1 .Run make migrations and migrate
- Remove the default=1 in foreign key field.
Hope this helps. This solution will work everytime you face these kinds of error.
I have run into the same problem with my OneToOneField. And, what I did was to delete all the migration files (which are under the directory of migrations
under your app), and ran:
python manage.py makemigrations
and
python manage.py migrate
I don't know why, but it worked in my case. It won't hurt you to try what I wrote above.
Good luck!
As the error says, your user field on VideoData is not allowing nulls, so you either need to give it a default user or allow nulls. Easiest way is to allow nulls.
user = models.ForeignKey(User, related_name='User', null=True)
or have a default user
user = models.ForeignKey(User, related_name='User', default=<have your default user id here>)