我已经按照this教程让Django与Mongodb合作。 当我尝试:
db.__schema__.find();
检查__schema__
集合中的最后一个id是否等于MongoDB集合中的最后一个id,我收到以下错误:
TypeError: db.__schema__find is not a function : @(shell):1:1
已安装的版本:Django:2.0.5,Mongodb:3.6.5
我做错了什么?
这就是我所做的:
models.py :
from django.db import models
class Strutture(models.Model):
loc = models.CharField(max_length=255, null=True)
location = models.FloatField
comune = models.CharField(max_length=255, null=True)
def __str__(self):
return self.nome_struttura
因此,我跑了:
manage.py makemigrations
manage.py migrate
然后我导入了db dump:
mongorestore --drop --nsFrom alberghi.strutture --nsTo alberghi.strutture_ricettive_strutture --db alberghi /home/x/Scrivania/dump/alberghi
此时教程说你必须检查__schema__
集合的“seq”字段,所以在Mongodb shell中:
> use alberghi
switched to db alberghi
> db.__schema__.find()
2018-06-04T17:23:00.391+0200 E QUERY [thread1] TypeError: db.__schema__ is undefined :
@(shell):1:1
>
Django Traceback:
Environment:
Request Method: GET
Request URL: http://alberghi-sicilia.vmware/
Django Version: 2.0.5
Python Version: 3.6.5
Installed Applications:
['django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'strutture_ricettive']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware']
Template error:
In template /var/www/django_virtualenv/progetti_django/alberghi_sicilia/strutture_ricettive/templates/strutture_ricettive/test.html, error at line 11
id
1 : <!doctype html>
2 : <html>
3 : <head>
4 : <meta charset="utf-8">
5 : <title>Documento senza titolo</title>
6 : </head>
7 :
8 : <body>
9 : Ciao core!
10 : <p>
11 : {{liste}}
12 :
13 : </p>
14 : </body>
15 : </html>
16 :
Traceback:
File "/var/www/django_virtualenv/progetti_django/lib/python3.6/site-packages/djongo/sql2mongo/query.py" in _align_results
293. ret.append(doc[selected.column])
During handling of the above exception ('id'), another exception occurred:
File "/var/www/django_virtualenv/progetti_django/lib/python3.6/site-packages/django/core/handlers/exception.py" in inner
35. response = get_response(request)
File "/var/www/django_virtualenv/progetti_django/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
128. response = self.process_exception_by_middleware(e, request)
File "/var/www/django_virtualenv/progetti_django/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
126. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/var/www/django_virtualenv/progetti_django/alberghi_sicilia/strutture_ricettive/views.py" in test
16. return render(request, 'strutture_ricettive/test.html', {'liste': liste})
File "/var/www/django_virtualenv/progetti_django/lib/python3.6/site-packages/django/shortcuts.py" in render
36. content = loader.render_to_string(template_name, context, request, using=using)
File "/var/www/django_virtualenv/progetti_django/lib/python3.6/site-packages/django/template/loader.py" in render_to_string
62. return template.render(context, request)
File "/var/www/django_virtualenv/progetti_django/lib/python3.6/site-packages/django/template/backends/django.py" in render
61. return self.template.render(context)
File "/var/www/django_virtualenv/progetti_django/lib/python3.6/site-packages/django/template/base.py" in render
175. return self._render(context)
File "/var/www/django_virtualenv/progetti_django/lib/python3.6/site-packages/django/template/base.py" in _render
167. return self.nodelist.render(context)
File "/var/www/django_virtualenv/progetti_django/lib/python3.6/site-packages/django/template/base.py" in render
943. bit = node.render_annotated(context)
File "/var/www/django_virtualenv/progetti_django/lib/python3.6/site-packages/django/template/base.py" in render_annotated
910. return self.render(context)
File "/var/www/django_virtualenv/progetti_django/lib/python3.6/site-packages/django/template/base.py" in render
999. return render_value_in_context(output, context)
File "/var/www/django_virtualenv/progetti_django/lib/python3.6/site-packages/django/template/base.py" in render_value_in_context
978. value = str(value)
File "/var/www/django_virtualenv/progetti_django/lib/python3.6/site-packages/django/db/models/query.py" in __repr__
248. data = list(self[:REPR_OUTPUT_SIZE + 1])
File "/var/www/django_virtualenv/progetti_django/lib/python3.6/site-packages/django/db/models/query.py" in __iter__
272. self._fetch_all()
File "/var/www/django_virtualenv/progetti_django/lib/python3.6/site-packages/django/db/models/query.py" in _fetch_all
1179. self._result_cache = list(self._iterable_class(self))
File "/var/www/django_virtualenv/progetti_django/lib/python3.6/site-packages/django/db/models/query.py" in __iter__
62. for row in compiler.results_iter(results):
File "/var/www/django_virtualenv/progetti_django/lib/python3.6/site-packages/django/db/models/sql/compiler.py" in cursor_iter
1460. for rows in iter((lambda: cursor.fetchmany(itersize)), sentinel):
File "/var/www/django_virtualenv/progetti_django/lib/python3.6/site-packages/django/db/models/sql/compiler.py" in <lambda>
1460. for rows in iter((lambda: cursor.fetchmany(itersize)), sentinel):
File "/var/www/django_virtualenv/progetti_django/lib/python3.6/site-packages/django/db/utils.py" in inner
96. return func(*args, **kwargs)
File "/var/www/django_virtualenv/progetti_django/lib/python3.6/site-packages/djongo/cursor.py" in fetchmany
59. ret.append(self.result.next())
File "/var/www/django_virtualenv/progetti_django/lib/python3.6/site-packages/djongo/sql2mongo/query.py" in __next__
705. return next(self._result_generator)
File "/var/www/django_virtualenv/progetti_django/lib/python3.6/site-packages/djongo/sql2mongo/query.py" in __iter__
711. yield from iter(self._query)
File "/var/www/django_virtualenv/progetti_django/lib/python3.6/site-packages/djongo/sql2mongo/query.py" in __iter__
184. yield self._align_results(doc)
File "/var/www/django_virtualenv/progetti_django/lib/python3.6/site-packages/djongo/sql2mongo/query.py" in _align_results
296. raise MigrationError(selected.column)
Exception Type: MigrationError at /
Exception Value: id