Installed django recently, followed the django tutorial pdf to some where arround page 20. But got problems...

It's on ubuntu 14.04, I have ipython installed and the following command some how brings up ipython. And it will raise exception for command
Question.objects.filter(question_text__startswith='What')

I have to do double quotes instead:
Question.objects.filter(question_text__startswith="What")

But now I encountered the following error and need your help:

elim@aLnx:mydjango$ python manage.py shell
Python 2.7.6 (default, Mar 22 2014, 22:59:56)
Type "copyright", "credits" or "license" for more information.

IPython 1.2.1 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]: import django

In [2]: django.setup()

In [3]: from polls.models import Question, Choice

In [4]: Question.objects.all()
Out[4]: [<Question: What's up?>]

In [5]: from django.utils import timezone

In [6]: Question.objects.filter(id=1)
Out[6]: [<Question: What's up?>]

In [7]: Question.objects.filter(question_text__startswith="What")
Out[7]: [<Question: What's up?>]

In [8]: # Due to ipython instead of python shell, we need "What" instead of 'What'

In [9]: this_year = timezone.now().year

In [10]: this_year
Out[10]: 2015

In [11]: Question.objects.get(pub_date__year=this_year)
Out[11]: <Question: What's up?>

In [12]: # Question.objects.get(id=2) will raise: Traceback (most recent call last):

In [13]: # ...

In [14]: # DoesNotExist: Question matching query does not exist.

In [15]: Question.objects.get(id=1)
Out[15]: <Question: What's up?>

In [16]: Question.objects.get(pk=1)
Out[16]: <Question: What's up?>

In [17]: q = Question.objects.get(pk=1)

In [18]: q.was_published_recently()
Out[18]: False

In [19]: q
Out[19]: <Question: What's up?>

In [20]: # What False (In[18]) ?

In [21]: q.choice_set.all()
Out[21]: []

In [22]: q.choice_set.create(choice_text='Not much', votes=0)
---------------------------------------------------------------------------
IntegrityError                            Traceback (most recent call last)
<ipython-input-22-eb4d4c16acae> in <module>()
----> 1 q.choice_set.create(choice_text='Not much', votes=0)

/usr/local/lib/python2.7/dist-packages/django/db/models/fields/related.pyc in create(self, **kwargs)
    748             kwargs[rel_field.name] = self.instance
749 db = router.db_for_write(self.model, instance=self.instance) --> 750 return super(RelatedManager, self.db_manager(db)).create(**kwargs)
    751         create.alters_data = True
    752

/usr/local/lib/python2.7/dist-packages/django/db/models/manager.pyc in manager_method(self, *args, **kwargs)
    125         def create_method(name, method):
    126             def manager_method(self, *args, **kwargs):
--> 127 return getattr(self.get_queryset(), name)(*args, **kwargs)
    128             manager_method.__name__ = method.__name__
    129             manager_method.__doc__ = method.__doc__

/usr/local/lib/python2.7/dist-packages/django/db/models/query.pyc in create(self, **kwargs)
    346         obj = self.model(**kwargs)
    347         self._for_write = True
--> 348         obj.save(force_insert=True, using=self.db)
    349         return obj
    350

/usr/local/lib/python2.7/dist-packages/django/db/models/base.pyc in save(self, force_insert, force_update, using, update_fields)
    708
    709         self.save_base(using=using, force_insert=force_insert,
--> 710 force_update=force_update, update_fields=update_fields)
    711     save.alters_data = True
    712

/usr/local/lib/python2.7/dist-packages/django/db/models/base.pyc in save_base(self, raw, force_insert, force_update, using, update_fields)
    736             if not raw:
    737                 self._save_parents(cls, using, update_fields)
--> 738 updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)
    739         # Store the database on which the object was saved
    740         self._state.db = using

/usr/local/lib/python2.7/dist-packages/django/db/models/base.pyc in _save_table(self, raw, cls, force_insert, force_update, using, update_fields)
    820
    821             update_pk = bool(meta.has_auto_field and not pk_set)
--> 822 result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
    823             if update_pk:
    824                 setattr(self, meta.pk.attname, result)

/usr/local/lib/python2.7/dist-packages/django/db/models/base.pyc in _do_insert(self, manager, using, fields, update_pk, raw)
    859         """
860 return manager._insert([self], fields=fields, return_id=update_pk,
--> 861                                using=using, raw=raw)
    862
    863     def delete(self, using=None):

/usr/local/lib/python2.7/dist-packages/django/db/models/manager.pyc in manager_method(self, *args, **kwargs)
    125         def create_method(name, method):
    126             def manager_method(self, *args, **kwargs):
--> 127 return getattr(self.get_queryset(), name)(*args, **kwargs)
    128             manager_method.__name__ = method.__name__
    129             manager_method.__doc__ = method.__doc__

/usr/local/lib/python2.7/dist-packages/django/db/models/query.pyc in _insert(self, objs, fields, return_id, raw, using)
    918         query = sql.InsertQuery(self.model)
    919         query.insert_values(fields, objs, raw=raw)
--> 920 return query.get_compiler(using=using).execute_sql(return_id)
    921     _insert.alters_data = True
    922     _insert.queryset_only = False

/usr/local/lib/python2.7/dist-packages/django/db/models/sql/compiler.pyc in execute_sql(self, return_id)
    969         with self.connection.cursor() as cursor:
    970             for sql, params in self.as_sql():
--> 971                 cursor.execute(sql, params)
    972             if not (return_id and cursor):
    973                 return

/usr/local/lib/python2.7/dist-packages/django/db/backends/utils.pyc in execute(self, sql, params)
     77         start = time()
     78         try:
---> 79 return super(CursorDebugWrapper, self).execute(sql, params)
     80         finally:
     81             stop = time()

/usr/local/lib/python2.7/dist-packages/django/db/backends/utils.pyc in execute(self, sql, params)
     62                 return self.cursor.execute(sql)
     63             else:
---> 64                 return self.cursor.execute(sql, params)
     65
     66     def executemany(self, sql, param_list):

/usr/local/lib/python2.7/dist-packages/django/db/backends/mysql/base.pyc in execute(self, query, args) 127 # misclassified and Django would prefer the more logical place.
    128             if e.args[0] in self.codes_for_integrityerror:
--> 129 six.reraise(utils.IntegrityError, utils.IntegrityError(*tuple(e.args)), sys.exc_info()[2])
    130             raise
    131

/usr/local/lib/python2.7/dist-packages/django/db/backends/mysql/base.pyc in execute(self, query, args)
    122         try:
    123             # args is None means no string interpolation
--> 124             return self.cursor.execute(query, args)
    125         except Database.OperationalError as e:
126 # Map some error codes to IntegrityError, since they seem to be

/usr/lib/python2.7/dist-packages/MySQLdb/cursors.pyc in execute(self, query, args)
    172             del tb
    173             self.messages.append((exc, value))
--> 174             self.errorhandler(self, exc, value)
    175         self._executed = query
    176         if not self._defer_warnings: self._warning_check()

/usr/lib/python2.7/dist-packages/MySQLdb/connections.pyc in defaulterrorhandler(***failed resolving arguments***)
     34     del cursor
     35     del connection
---> 36     raise errorclass, errorvalue
     37
     38 re_numeric_part = re.compile(r"^(\d+)")

IntegrityError: (1048, "Column 'poll_id' cannot be null")

--
You received this message because you are subscribed to the Google Groups "Django 
users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/558CE1F2.8010001%40gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to