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+unsubscribe@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.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment