0

Before this python manage.py makemigrations - done, also python manage.py migrate - done

I do not know what is happening, in the tutorial, that I follow, there is no such error- the syntax is the same in models.py:

       from django.db import models
    
    
    class Reporter(models.Model):
        first_name = models.CharField(max_length=30)
        last_name = models.CharField(max_length=30)
        email = models.EmailField()
    
        def __str__(self):
            return self.first_name
    
    
    class Article(models.Model):
        headline = models.CharField(max_length=30)
        pub_date = models.DateField()
        reporter = models.ForeignKey(Reporter, on_delete=models.CASCADE)
    

      def __str__(self):
        return self.headline

    class Meta:
        ordering = ('headline',)
        

Which are migrated, and in admin.py Article, and Publication is added

       Python 3.6.12 (default, Aug 18 2020, 02:08:22) 
        
            GCC 5.4.0 20160609 on linux*
        
            Type "help", "copyright", "credits" or "license" for more                information.
        

    InteractiveConsole
    >>> from MyApp.models import Article, Reporter
    >>> r = Reporter(first_name = 'John', last_name = Doe, e-mail = 'abc@gmail.com')
      File "<console>", line 1
    SyntaxError: keyword can't be an expression
    >>> r = Reporter(first_name = 'John', last_name = 'Doe', e-mail = 'abc@gmail.com')
      File "<console>", line 1
    SyntaxError: keyword can't be an expression
    >>> r = Reporter(first_name = 'John', last_name = 'Doe', email = 'abc@gmail.com')
    >>> r.save()
    >>> r1 = Reporter(first_name = 'Boris', last_name = 'Milanovic', email = 'xyz@gmail.com')
    >>> r1.save()
    >>> from datetime import date
    >>> a = Article(headline = 'this is our first article', pub_date = date(2020, 11, 01, reporter=r)
      File "<console>", line 1
        a = Article(headline = 'this is our first article', pub_date = date(2020, 11, 01, reporter=r)
                                                                                       ^
    SyntaxError: invalid token
    >>> a = Article(headline = 'this is our first article', pub_date = date(2020, 11, 01), reporter=r)
      File "<console>", line 1
        a = Article(headline = 'this is our first article', pub_date = date(2020, 11, 01), reporter=r)
                                                                                       ^
    SyntaxError: invalid token
    >>> a = Article(headline = 'this is our first article', pub_date = date(2020, 11, 1), reporter=r)
    >>> a.save()
    Traceback (most recent call last):
      File "/home/Desktop/RelationshipsInDjango/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
        return self.cursor.execute(sql, params)
      File "/home/Desktop/RelationshipsInDjango/lib/python3.6/site-packages/django/db/backends/mysql/base.py", line 73, in execute
        return self.cursor.execute(query, args)
      File "/home/Desktop/RelationshipsInDjango/lib/python3.6/site-packages/MySQLdb/cursors.py", line 206, in execute
        res = self._query(query)
      File "/home/Desktop/RelationshipsInDjango/lib/python3.6/site-packages/MySQLdb/cursors.py", line 319, in _query
        db.query(q)
      File "/home/Desktop/RelationshipsInDjango/lib/python3.6/site-packages/MySQLdb/connections.py", line 259, in query
        _mysql.connection.query(self, query)
    MySQLdb._exceptions.OperationalError: (1054, "Unknown column 'reporter_id' in 'field list'")

So, can it be that in this version of Django 3.1.2 there is is a bug?? As I know that when I was working with many-to-many course with lower version of Django (2.1 or 2.0.1, I didn't have this issue) .

Any suggestions? = And I see a lot of people are facing the same issue now...

***Name of App and objects are irelevant, apply them to yours and tell me and what can I do wrong and where I am and thousands are doing wrong. ***

I got to the point to edit connections.py something regarding cursor (reocurring thing, not sure) but didn't apply ...

First I was doing with --fake (migrations) but then I somehow, when dropped all problematic tables the migrations are working.

**UPDATE FOR MORE DETAILS**

[Screenshot of my project 1][1] ,   
[Project settings 1][2]  ,   
[Screenshot of project settings.py 2][3]  ,   
[Fresh migration file 0001...py where is more described what's done in mirations][4]  ,   
  
  [1]: https://i.stack.imgur.com/7BE5v.png
  [2]: https://i.stack.imgur.com/6bzv6.png
  [3]: https://i.stack.imgur.com/jTlol.png
  [4]: https://i.stack.imgur.com/oVrAF.png

UPDATE ON THIS: I've deleted the cache file, deleted previous migrations, and still I am getting following error:** I see many people here having the same issue, I've looked all over, but none helps. Please help.. So this is the error:

    Python 3.6.12 (default, Aug 18 2020, 02:08:22) 
    [GCC 5.4.0 20160609] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    
       
    
     (InteractiveConsole)
    
    >>> from MyApp.models import Article, Reporter
    >>> r = Reporter(first_name = 'Parwiz', last_name = 'Something', `email = 'xsx@sf.com')`
    >>> r.save()
    >>> from datetime import date
    >>> a = Article(headline = 'this is our first article', pub_date = `date(2020, 11, 3), reporter=r)`
    >>> a.save()
     
    
       Traceback (most recent call last):
          File "/home/Desktop/RelationshipsInDjango/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
            return self.cursor.execute(sql, params)
          File "/home/Desktop/RelationshipsInDjango/lib/python3.6/site-packages/django/db/backends/mysql/base.py", line 73, in execute
            return self.cursor.execute(query, args)
          File "/home/Desktop/RelationshipsInDjango/lib/python3.6/site-packages/MySQLdb/cursors.py", line 206, in execute
            res = self._query(query)
          File "/home/Desktop/RelationshipsInDjango/lib/python3.6/site-packages/MySQLdb/cursors.py", line 319, in _query
            db.query(q)
          File "/home/Desktop/RelationshipsInDjango/lib/python3.6/site-packages/MySQLdb/connections.py", line 259, in query
            _mysql.connection.query(self, query)
        MySQLdb._exceptions.OperationalError: (1054, "Unknown column 'reporter_id' in 'field list'")
        

The above exception was the direct cause of the following exception:

    Traceback (most recent call last):
          File "<console>", line 1, in <module>
          File "/home/Desktop/RelationshipsInDjango/lib/python3.6/site-packages/django/db/models/base.py", line 754, in save
            force_update=force_update, update_fields=update_fields)
          File "/home/Desktop/RelationshipsInDjango/lib/python3.6/site-packages/django/db/models/base.py", line 792, in save_base
            force_update, using, update_fields,
          File "/home/Desktop/RelationshipsInDjango/lib/python3.6/site-packages/django/db/models/base.py", line 895, in _save_table
            results = self._do_insert(cls._base_manager, using, fields, returning_fields, raw)
          File "/home/Desktop/RelationshipsInDjango/lib/python3.6/site-packages/django/db/models/base.py", line 935, in _do_insert
            using=using, raw=raw,
          File "/home/Desktop/RelationshipsInDjango/lib/python3.6/site-packages/django/db/models/manager.py", line 85, in manager_method
            return getattr(self.get_queryset(), name)(*args, **kwargs)
          File "/home/Desktop/RelationshipsInDjango/lib/python3.6/site-packages/django/db/models/query.py", line 1254, in _insert
            return query.get_compiler(using=using).execute_sql(returning_fields)
          File "/home/Desktop/RelationshipsInDjango/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 1397, in execute_sql
            cursor.execute(sql, params)
          File "/home/Desktop/RelationshipsInDjango/lib/python3.6/site-packages/django/db/backends/utils.py", line 99, in execute
            return super().execute(sql, params)
          File "/home/Desktop/RelationshipsInDjango/lib/python3.6/site-packages/django/db/backends/utils.py", line 66, in execute
            return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
          File "/home/Desktop/RelationshipsInDjango/lib/python3.6/site-packages/django/db/backends/utils.py", line 75, in _execute_with_wrappers
            return executor(sql, params, many, context)
          File "/home/Desktop/RelationshipsInDjango/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
            return self.cursor.execute(sql, params)
          File "/home/Desktop/RelationshipsInDjango/lib/python3.6/site-packages/django/db/utils.py", line 90, in __exit__
            raise dj_exc_value.with_traceback(traceback) from exc_value
          File "/home/Desktop/RelationshipsInDjango/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
            return self.cursor.execute(sql, params)
          File "/home/Desktop/RelationshipsInDjango/lib/python3.6/site-packages/django/db/backends/mysql/base.py", line 73, in execute
            return self.cursor.execute(query, args)
          File "/home/Desktop/RelationshipsInDjango/lib/python3.6/site-packages/MySQLdb/cursors.py", line 206, in execute
            res = self._query(query)
          File "/home/Desktop/RelationshipsInDjango/lib/python3.6/site-packages/MySQLdb/cursors.py", line 319, in _query
            db.query(q)
          File "/home/Desktop/RelationshipsInDjango/lib/python3.6/site-packages/MySQLdb/connections.py", line 259, in query
            _mysql.connection.query(self, query)
        django.db.utils.OperationalError: (1054, "Unknown column 'reporter_id' in 'field list'")
MilanovicFUL
  • 86
  • 1
  • 7
  • this error commonly comes when you forgets to run the migrate command after migrations. Run following commands one by one. `python manage.py makemigrations` then `python manage.py migrate` – Yash Marmat Nov 01 '20 at 09:49
  • I did all that: (RelationshipsInDjango) root@dev:/home/Desktop/RelationshipsInDjango/RelationshipsInDjango# python manage.py makemigrations No changes detected (RelationshipsInDjango) root@dev:/home/Desktop/RelationshipsInDjango/RelationshipsInDjango# python manage.py migrate Operations to perform: Apply all migrations: MyApp, admin, auth, contenttypes, sessions Running migrations: No migrations to apply. (RelationshipsInDjango) root@dev:/home/Desktop/RelationshipsInDjango/RelationshipsInDjango# – MilanovicFUL Nov 01 '20 at 10:30
  • have you deleted something from database like some previous model of something ? If you did then you should also delete the pycache files as well. Then you need to run those 2 commands again – Yash Marmat Nov 01 '20 at 10:36
  • got some references for you https://docs.djangoproject.com/en/dev/intro/tutorial02/ – Yash Marmat Nov 01 '20 at 10:44
  • I may have, but I don't see __pycache__ I use the PyCharm Pro – MilanovicFUL Nov 01 '20 at 10:45
  • every app you create contains a migrations folder open that folder and you will see __inti.py__, 0001_initial.py and maybe more like this. open this file you will see all information about your models. If you want changes then delete this entire migrations folder and the database file like by default db.sqlite3 then run migrations command again, but i dont recommend doing as there slighly chance that it can break something else in your code. So be carefull if you do. – Yash Marmat Nov 01 '20 at 11:05
  • @YashMarmat I've just done with clearing cahce and migrations and re-doing the migrations again. Migrations are okay, but shell from the models.py shell is giving me the error as I've UPDATED the question, you can see the screenshots and log... – MilanovicFUL Nov 02 '20 at 07:49
  • that's strange it didn't work, also im little skilled in terms of MySql data base (i usually work on PostgresSql, not saying MySql is bad though). But i got some refrences for you (similar to yours) https://stackoverflow.com/questions/3462707/python-and-mysqldb-error-operationalerror-1054-unknown-column-in-where-cla – Yash Marmat Nov 02 '20 at 12:00

0 Answers0