*Here is the codes about choice*
In [27]: q = Question.objects.get(pk=1) In [28]: q.choice_set.all() Out[28]: <QuerySet []> In [29]: q.choice_set.create(choice_text='Not much',votes=0) Out[29]: <Choice: Not much> In [30]: q.choice_set.create(choice_text='The sky',votes=0) Out[30]: <Choice: The sky> In [31]: c = q.choice_set.create(choice_text='Just hacking again',votes=0) In [32]: c.question Out[32]: <Question: What's up?> In [33]: q.choice_set.all() Out[33]: <QuerySet [<Choice: Just hacking again>, <Choice: The sky>, <Choice: Not much>]> In [34]: q.choice_set.count() Out[34]: 3 choice exits, or correctly working? Nori On Sunday, February 3, 2019 at 10:55:48 AM UTC-5, Atsunori Kaneshige wrote: > > Hi Carsten, > > Sorry, are you talking about Writing Your First App, Part2? The page below? > https://docs.djangoproject.com/en/2.1/intro/tutorial02/ > > Yeah, when I tried this, there was something wrong. > > *I did that again. I copied and pasted my terminal below.* > *seems like migration was successful when I did before.* > *I am not sure what 'python sqlmigrate polls 001' is doing.* > > > MacBook-Pro-3:mysite Koitaro$ python manage.py migrate > > /Applications/anaconda3/lib/python3.6/site-packages/psycopg2/__init__.py:144: > UserWarning: The psycopg2 wheel package will be renamed from release 2.8; > in order to keep installing from binary please use "pip install > psycopg2-binary" instead. For details see: < > http://initd.org/psycopg/docs/install.html#binary-install-from-pypi>. > > """) > > Operations to perform: > > Apply all migrations: admin, auth, contenttypes, polls, sessions > > Running migrations: > > No migrations to apply. > > MacBook-Pro-3:mysite Koitaro$ python manage.py makemigrations polls > > /Applications/anaconda3/lib/python3.6/site-packages/psycopg2/__init__.py:144: > UserWarning: The psycopg2 wheel package will be renamed from release 2.8; > in order to keep installing from binary please use "pip install > psycopg2-binary" instead. For details see: < > http://initd.org/psycopg/docs/install.html#binary-install-from-pypi>. > > """) > > No changes detected in app 'polls' > > MacBook-Pro-3:mysite Koitaro$ python manage.py sqlmigrate polls 0001 > > /Applications/anaconda3/lib/python3.6/site-packages/psycopg2/__init__.py:144: > UserWarning: The psycopg2 wheel package will be renamed from release 2.8; > in order to keep installing from binary please use "pip install > psycopg2-binary" instead. For details see: < > http://initd.org/psycopg/docs/install.html#binary-install-from-pypi>. > > """) > > BEGIN; > > -- > > -- Create model Choice > > -- > > CREATE TABLE "polls_choice" ("id" serial NOT NULL PRIMARY KEY, > "choice_text" varchar(200) NOT NULL, "votes" integer NOT NULL); > > -- > > -- Create model Question > > -- > > CREATE TABLE "polls_question" ("id" serial NOT NULL PRIMARY KEY, > "question_text" varchar(200) NOT NULL, "pub_date" timestamp with time zone > NOT NULL); > > -- > > -- Add field question to choice > > -- > > ALTER TABLE "polls_choice" ADD COLUMN "question_id" integer NOT NULL; > > CREATE INDEX "polls_choice_question_id_c5b4b260" ON "polls_choice" > ("question_id"); > > ALTER TABLE "polls_choice" ADD CONSTRAINT > "polls_choice_question_id_c5b4b260_fk_polls_question_id" FOREIGN KEY > ("question_id") REFERENCES "polls_question" ("id") DEFERRABLE INITIALLY > DEFERRED; > > COMMIT; > > MacBook-Pro-3:mysite Koitaro$ > > > > *After this, when I typed 'python manage.py shell',* > *By the way, I am not doing this in virtual environment, is it fine?* > *Django docs doesn't say anything about it.* > > *Here is the result of shell* > > MacBook-Pro-3:mysite Koitaro$ python manage.py shell > > /Applications/anaconda3/lib/python3.6/site-packages/psycopg2/__init__.py:144: > UserWarning: The psycopg2 wheel package will be renamed from release 2.8; > in order to keep installing from binary please use "pip install > psycopg2-binary" instead. For details see: < > http://initd.org/psycopg/docs/install.html#binary-install-from-pypi>. > > """) > > Python 3.6.5 |Anaconda, Inc.| (default, Apr 26 2018, 08:42:37) > > Type 'copyright', 'credits' or 'license' for more information > > IPython 6.4.0 -- An enhanced Interactive Python. Type '?' for help. > > > In [1]: from polls.models import Choice, Question > > > In [2]: Question.objects.all() > > Out[2]: <QuerySet [<Question: What's up?>, <Question: How's going?>, > <Question: Oh, are you OK?>, <Question: Where is she?>]> > > > In [3]: from django.utils import timezone > > > In [4]: q = Question(question_text='What's up?,pub_data=timezone.now()) > > File "<ipython-input-4-85ce5789a277>", line 1 > > q = Question(question_text='What's up?,pub_data=timezone.now()) > > ^ > > SyntaxError: invalid syntax > > > > In [5]: q = Question(question_text="What's up?",pub_data=timezone.now()) > > --------------------------------------------------------------------------- > > TypeError Traceback (most recent call > last) > > <ipython-input-5-bae574063418> in <module>() > > ----> 1 q = Question(question_text="What's up?",pub_data=timezone.now()) > > > > /Applications/anaconda3/lib/python3.6/site-packages/django/db/models/base.py > in __init__(self, *args, **kwargs) > > 483 pass > > 484 for kwarg in kwargs: > > --> 485 raise TypeError("'%s' is an invalid keyword > argument for this function" % kwarg) > > 486 super().__init__() > > 487 post_init.send(sender=cls, instance=self) > > > TypeError: 'pub_data' is an invalid keyword argument for this function > > > In [6]: q = Question(question_text="What's up?",pub_date=timezone.now()) > > > In [7]: q.save() > > > In [8]: q.id > > Out[8]: 5 > > > In [9]: q.question_text > > Out[9]: "What's up?" > > > In [10]: q.pub_date > > Out[10]: datetime.datetime(2019, 2, 3, 15, 43, 10, 354354, tzinfo=<UTC>) > > > In [11]: q.question_text = "What's up?" > > > In [12]: q.save() > > > In [13]: Question.objects.all() > > Out[13]: <QuerySet [<Question: What's up?>, <Question: How's going?>, > <Question: Oh, are you OK?>, <Question: Where is she?>, <Question: What's > up?>]> > > > In [14]: from polls.models import Choice, Question > > > In [15]: Question.objects.all() > > Out[15]: <QuerySet [<Question: What's up?>, <Question: How's going?>, > <Question: Oh, are you OK?>, <Question: Where is she?>, <Question: What's > up?>]> > > > In [16]: Question.objects.filter(question_text_startswith='What') > > --------------------------------------------------------------------------- > > FieldError Traceback (most recent call > last) > > <ipython-input-16-09474b7667e7> in <module>() > > ----> 1 Question.objects.filter(question_text_startswith='What') > > > > /Applications/anaconda3/lib/python3.6/site-packages/django/db/models/manager.py > > in manager_method(self, *args, **kwargs) > > 80 def create_method(name, method): > > 81 def manager_method(self, *args, **kwargs): > > ---> 82 return getattr(self.get_queryset(), name)(*args, > **kwargs) > > 83 manager_method.__name__ = method.__name__ > > 84 manager_method.__doc__ = method.__doc__ > > > > /Applications/anaconda3/lib/python3.6/site-packages/django/db/models/query.py > in filter(self, *args, **kwargs) > > 842 set. > > 843 """ > > --> 844 return self._filter_or_exclude(False, *args, **kwargs) > > 845 > > 846 def exclude(self, *args, **kwargs): > > > > /Applications/anaconda3/lib/python3.6/site-packages/django/db/models/query.py > in _filter_or_exclude(self, negate, *args, **kwargs) > > 860 clone.query.add_q(~Q(*args, **kwargs)) > > 861 else: > > --> 862 clone.query.add_q(Q(*args, **kwargs)) > > 863 return clone > > 864 > > > > /Applications/anaconda3/lib/python3.6/site-packages/django/db/models/sql/query.py > > in add_q(self, q_object) > > 1261 # So, demotion is OK. > > 1262 existing_inner = {a for a in self.alias_map if self. > alias_map[a].join_type == INNER} > > -> 1263 clause, _ = self._add_q(q_object, self.used_aliases) > > 1264 if clause: > > 1265 self.where.add(clause, AND) > > > > /Applications/anaconda3/lib/python3.6/site-packages/django/db/models/sql/query.py > > in _add_q(self, q_object, used_aliases, branch_negated, current_negated, > allow_joins, split_subq) > > 1285 child, can_reuse=used_aliases, branch_negated= > branch_negated, > > 1286 current_negated=current_negated, allow_joins= > allow_joins, > > -> 1287 split_subq=split_subq, > > 1288 ) > > 1289 joinpromoter.add_votes(needed_inner) > > > > /Applications/anaconda3/lib/python3.6/site-packages/django/db/models/sql/query.py > > in build_filter(self, filter_expr, branch_negated, current_negated, > can_reuse, allow_joins, split_subq, reuse_with_filtered_relation) > > 1162 if not arg: > > 1163 raise FieldError("Cannot parse keyword query %r" % arg > ) > > -> 1164 lookups, parts, reffed_expression = self.solve_lookup_type > (arg) > > 1165 > > 1166 if not getattr(reffed_expression, 'filterable', True): > > > > /Applications/anaconda3/lib/python3.6/site-packages/django/db/models/sql/query.py > > in solve_lookup_type(self, lookup) > > 1026 if expression: > > 1027 return expression_lookups, (), expression > > -> 1028 _, field, _, lookup_parts = self.names_to_path( > lookup_splitted, self.get_meta()) > > 1029 field_parts = lookup_splitted[0:len(lookup_splitted) - len > (lookup_parts)] > > 1030 if len(lookup_parts) > 1 and not field_parts: > > > > /Applications/anaconda3/lib/python3.6/site-packages/django/db/models/sql/query.py > > in names_to_path(self, names, opts, allow_many, fail_on_missing) > > 1387 ) > > 1388 raise FieldError("Cannot resolve keyword '%s' > into field. " > > -> 1389 "Choices are: %s" % (name, > ", ".join(available))) > > 1390 break > > 1391 # Check if we need any joins for concrete inheritance > cases (the > > > FieldError: Cannot resolve keyword 'question_text_startswith' into field. > Choices are: choice, id, pub_date, question_text > > > In [17]: Question.objects.filter(question_text__startswith='What') > > Out[17]: <QuerySet [<Question: What's up?>, <Question: What's up?>]> > > > In [18]: from django.utils import timezone > > > In [19]: current_year = timezone.now().year > > > In [20]: Question.objects.get(pub_date__year=current_year) > > --------------------------------------------------------------------------- > > MultipleObjectsReturned Traceback (most recent call > last) > > <ipython-input-20-05adfe5e79c1> in <module>() > > ----> 1 Question.objects.get(pub_date__year=current_year) > > > > /Applications/anaconda3/lib/python3.6/site-packages/django/db/models/manager.py > > in manager_method(self, *args, **kwargs) > > 80 def create_method(name, method): > > 81 def manager_method(self, *args, **kwargs): > > ---> 82 return getattr(self.get_queryset(), name)(*args,<span > c > -- 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 [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/7e4ab0b3-59be-4898-bc9c-20a25b712964%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.

