memopol issueshttps://git.laquadrature.net/la-quadrature-du-net/memopol/memopol/-/issues2017-09-19T13:41:35+02:00https://git.laquadrature.net/la-quadrature-du-net/memopol/memopol/-/issues/203Fix migrations2017-09-19T13:41:35+02:00njoyardFix migrationsSee https://git.laquadrature.net/memopol/memopol/-/jobs/1959See https://git.laquadrature.net/memopol/memopol/-/jobs/1959njoyardnjoyardhttps://git.laquadrature.net/la-quadrature-du-net/memopol/memopol/-/issues/202The homepage have an image with a way too high width2017-09-11T12:50:16+02:00PorkepixThe homepage have an image with a way too high widthOn the homepage, `banniere-en.png` have a way too high width, this results in a big horizontal scrolling.On the homepage, `banniere-en.png` have a way too high width, this results in a big horizontal scrolling.https://git.laquadrature.net/la-quadrature-du-net/memopol/memopol/-/issues/201Homepage hit a 404 trying to load banniere_en.png2017-09-07T17:03:18+02:00PorkepixHomepage hit a 404 trying to load banniere_en.pngAs stated in the Title, when going on the homepage it's trying to load the file banniere_en.png.
This file hit a 404 as the original file is name banniere-en.pngAs stated in the Title, when going on the homepage it's trying to load the file banniere_en.png.
This file hit a 404 as the original file is name banniere-en.pnghttps://git.laquadrature.net/la-quadrature-du-net/memopol/memopol/-/issues/198lot of data missing on initial setup with `update_all`2017-06-18T16:17:24+02:00jasterlot of data missing on initial setup with `update_all`When I try to populate a new instance with `./bin/update_all`, a lot of data is missing compared to the sources and official memopol instance.
It may be that I am doing something wrong when trying to set up my instance however. I crea...When I try to populate a new instance with `./bin/update_all`, a lot of data is missing compared to the sources and official memopol instance.
It may be that I am doing something wrong when trying to set up my instance however. I created a small project based on `docker-compose` that reproduces the issue. The project is [available here](https://git.laquadrature.net/jaster/memopol-docker-test-update).
To reproduce the issue, clone the project and run `docker-compose up` (or preferably `docker-compose up > output.log` given the output size). This will create an empty database, clone the `master` of memopol, and try to run what I *believe* to be a valid project setup for populating the DB.
The relevant section can be seen on the [CMD part of the dockerfile](https://git.laquadrature.net/jaster/memopol-docker-test-update/blob/master/Dockerfile#L13-18). Please do tell me if something is wrong here that could explain the discrepancy.
Since the process is rather long, I uploaded the logfile I obtained when running the project [here](https://cloud.jorquera.net/s/bO04giILcDzypcj) (please note that I intend to delete this when the issue is closed). The file is rather large (34MB, 225698 lines long) so be careful to use a decent editor when trying to open it (like vim or emacs :wink:).
For comparison here are the differences in number of entries between [https://memopol.lqdn.fr](https://memopol.lqdn.fr) and my instance:
| table | lqdn | mine |
|-----------------|--------|-------|
| chambers | 3 | 3 |
| constituencies | 718 | 677 |
| dossiers | 16272 | 14536 |
| groups | 1636 | 540 |
| mandates | 83013 | 16596 |
| proposals | 9337 | 7977 |
| representatives | 4934 | 3660 |
| votes | 161471 | 29460 |https://git.laquadrature.net/la-quadrature-du-net/memopol/memopol/-/issues/196Cleanup deceptive old name2017-06-01T12:55:51+02:00GibusCleanup deceptive old nameWhile memopol has not achieved to import data created in initial (perl/wiki) version, all references to "Political Memory" should be replaced by "memopol". Patch attached [memopol_everywhere.patch](/uploads/926e39eac8e1ea6c02704d6e49b15a...While memopol has not achieved to import data created in initial (perl/wiki) version, all references to "Political Memory" should be replaced by "memopol". Patch attached [memopol_everywhere.patch](/uploads/926e39eac8e1ea6c02704d6e49b15ac2/memopol_everywhere.patch)okhinokhin@laquadrature.netokhinokhin@laquadrature.nethttps://git.laquadrature.net/la-quadrature-du-net/memopol/memopol/-/issues/195CSRF verification failed. (CSRF cookie when submitting forms)2017-06-01T12:55:51+02:00AlexCSRF verification failed. (CSRF cookie when submitting forms)I am having this error while making a new public position (when the representative is not yet in the data base) using Firefox-ESR 45.9.0:
<pre>
Forbidden (403)
CSRF verification failed. Request aborted.
You are seeing this messag...I am having this error while making a new public position (when the representative is not yet in the data base) using Firefox-ESR 45.9.0:
<pre>
Forbidden (403)
CSRF verification failed. Request aborted.
You are seeing this message because this site requires a CSRF cookie when submitting forms. This cookie is required for security reasons, to ensure that your browser is not being hijacked by third parties.
If you have configured your browser to disable cookies, please re-enable them, at least for this site, or for 'same-origin' requests.
More information is available with DEBUG=True.
</pre>
I can reproduce the error from another web browser (TOR with no additional cookie plugin) so it might come from the server but I can't tell.
What I actually tried:
![Screenshot_from_2017-05-19_16-14-02](/uploads/0f67cea83afd14b9a40f900ab721b5fb/Screenshot_from_2017-05-19_16-14-02.png)
What I got:
![Screenshot_from_2017-05-19_14-38-08](/uploads/3d1897593374332693567cec22076285/Screenshot_from_2017-05-19_14-38-08.png)
I hope it can help if a bug is out there.okhinokhin@laquadrature.netokhinokhin@laquadrature.nethttps://git.laquadrature.net/la-quadrature-du-net/memopol/memopol/-/issues/193bin/dev.sh sets incorrect alias for memopol-update-all2017-05-14T14:49:03+02:00jasterbin/dev.sh sets incorrect alias for memopol-update-allDue to a typo in its definition, the alias `memopol-update-all` set by `bin/dev.sh` does not work
(MR incoming on this issue :wink: )Due to a typo in its definition, the alias `memopol-update-all` set by `bin/dev.sh` does not work
(MR incoming on this issue :wink: )https://git.laquadrature.net/la-quadrature-du-net/memopol/memopol/-/issues/192bin/dev.sh does not correctly detect shell on all distros2017-05-14T14:49:03+02:00jasterbin/dev.sh does not correctly detect shell on all distrosbin/dev.sh uses hardcoded paths to `/bin/bash` and `/bin/zsh`. However depending on the distro used, these binaries can be stored elsewhere.
For example, in my debian system, `zsh` is stored in `/usr/bin/zsh`.
This detection should be ...bin/dev.sh uses hardcoded paths to `/bin/bash` and `/bin/zsh`. However depending on the distro used, these binaries can be stored elsewhere.
For example, in my debian system, `zsh` is stored in `/usr/bin/zsh`.
This detection should be made more robust (e.g. using globs)
(MR incoming on this issue :wink:)https://git.laquadrature.net/la-quadrature-du-net/memopol/memopol/-/issues/185Import process crashes with to "bogus" json entry2017-06-01T12:55:51+02:00jasterImport process crashes with to "bogus" json entryCurrently, when running `bin/update_all` or `bin/update_representatives`, the process crashes due to a "bogus" MEP json entry missing a `Birth` element.
This causes [import_representatives to crash since this field is used without check...Currently, when running `bin/update_all` or `bin/update_representatives`, the process crashes due to a "bogus" MEP json entry missing a `Birth` element.
This causes [import_representatives to crash since this field is used without check](https://git.laquadrature.net/memopol/memopol/blob/master/src/representatives/contrib/parltrack/import_representatives.py#L94-97), without completing the import process.
In this specific instance, the parltrack data entry which causes the failure concerns a MEP name Maurizio Enzo LUPI (funnily, it seems to also cause an issue on parltrack, see https://github.com/civicdataeu/parltrack/issues/28).okhinokhin@laquadrature.netokhinokhin@laquadrature.nethttps://git.laquadrature.net/la-quadrature-du-net/memopol/memopol/-/issues/177Memopol - bas de page - contacts2017-03-23T17:37:16+01:00Léa C.F.Memopol - bas de page - contactsChanger les liens vers les contacts par un vrai bas de page plus lisible Changer les liens vers les contacts par un vrai bas de page plus lisible https://git.laquadrature.net/la-quadrature-du-net/memopol/memopol/-/issues/174Django version install2017-03-23T15:36:48+01:00Jamesie PicDjango version installAs reported in 105a038db67c0ff79c34c50748f19f0d42eb1001 by @njoyard :
> This will probably install the wrong django version (setuptools will install 1.9-rcX when told to install <1.9), rather use pip (which does not) or freeze django ...As reported in 105a038db67c0ff79c34c50748f19f0d42eb1001 by @njoyard :
> This will probably install the wrong django version (setuptools will install 1.9-rcX when told to install <1.9), rather use pip (which does not) or freeze django version in setup.py
For me it does the right version by default on a new virtualenv:
```
[lqdn_env] 19/10 2016 23:06:16 jpic@lue ~/work/lqdn/political_memory (agrausem/political_memory-docker)
$ virtualenv testenv
Using real prefix '/usr'
New python executable in /home/jpic/work/lqdn/political_memory/testenv/bin/python2
Also creating executable in /home/jpic/work/lqdn/political_memory/testenv/bin/python
Installing setuptools, pip, wheel...testenv/bin/pip insdone.
t
[lqdn_env] 19/10 2016 23:06:34 jpic@lue ~/work/lqdn/political_memory (agrausem/political_memory-docker)
$ testenv/bin/pip install -e .
Obtaining file:///home/jpic/work/lqdn/political_memory
Collecting django-autocomplete-light==3.2.0 (from political-memory==0.0.1)
Collecting django-autoslug<1.10,>=1.9 (from political-memory==0.0.1)
Using cached django_autoslug-1.9.3-py2.py3-none-any.whl
Collecting django-bootstrap3<7,>=6 (from political-memory==0.0.1)
Collecting django-coffeescript<0.8,>=0.7 (from political-memory==0.0.1)
Collecting django-compressor<2,>=1 (from political-memory==0.0.1)
Using cached django_compressor-1.6-py2.py3-none-any.whl
Collecting django-datetime-widget<1.0,>=0.9 (from political-memory==0.0.1)
Collecting django-filter<0.14,>=0.13 (from political-memory==0.0.1)
Using cached django_filter-0.13.0-py2.py3-none-any.whl
Collecting django-fontawesome<0.3,>=0.2 (from political-memory==0.0.1)
Collecting django-rql-filter<0.2,>=0.1.3 (from political-memory==0.0.1)
Collecting django-taggit<0.18,>=0.17 (from political-memory==0.0.1)
Using cached django_taggit-0.17.6-py2.py3-none-any.whl
Collecting django<1.9,>=1.8 (from political-memory==0.0.1)
Using cached Django-1.8.15-py2.py3-none-any.whl
Collecting djangorestframework<4,>=3 (from political-memory==0.0.1)
Using cached djangorestframework-3.4.7-py2.py3-none-any.whl
Collecting hamlpy<0.83,>=0.82 (from political-memory==0.0.1)
Collecting ijson<2.3,>=2.2 (from political-memory==0.0.1)
Using cached ijson-2.2-py2.py3-none-any.whl
Collecting python-dateutil<2.5,>=2.4 (from political-memory==0.0.1)
Using cached python_dateutil-2.4.2-py2.py3-none-any.whl
Collecting unicodecsv<0.15,>=0.14 (from political-memory==0.0.1)
Collecting pytz (from political-memory==0.0.1)
Using cached pytz-2016.7-py2.py3-none-any.whl
Collecting django-suit<0.3,>=0.2 (from political-memory==0.0.1)
Collecting psycopg2<3,>=2 (from political-memory==0.0.1)
Collecting django-appconf>=0.4 (from django-compressor<2,>=1->political-memory==0.0.1)
Using cached django_appconf-1.0.2-py2.py3-none-any.whl
Collecting PyYAML (from django-fontawesome<0.3,>=0.2->political-memory==0.0.1)
Collecting grako<3.13,>=3.12 (from django-rql-filter<0.2,>=0.1.3->political-memory==0.0.1)
Using cached grako-3.12.1-py2.py3-none-any.whl
Collecting markdown (from hamlpy<0.83,>=0.82->political-memory==0.0.1)
Collecting pygments (from hamlpy<0.83,>=0.82->political-memory==0.0.1)
Using cached Pygments-2.1.3-py2.py3-none-any.whl
Collecting six>=1.5 (from python-dateutil<2.5,>=2.4->political-memory==0.0.1)
Using cached six-1.10.0-py2.py3-none-any.whl
Installing collected packages: django-autocomplete-light, django-autoslug, django-bootstrap3, django-coffeescript, django-appconf, django-compressor, pytz, django, django-datetime-widget, django-filter, PyYAML, django-fontawesome, djangorestframework, grako, django-rql-filter, django-taggit, markdown, pygments, hamlpy, ijson, six, python-dateutil, unicodecsv, django-suit, psycopg2, political-memory
Running setup.py develop for political-memory
Successfully installed PyYAML-3.12 django-1.8.15 django-appconf-1.0.2 django-autocomplete-light-3.2.0 django-autoslug-1.9.3 django-bootstrap3-6.2.2 django-coffeescript-0.7.2 django-compressor-1.6 django-datetime-widget-0.9.3 django-filter-0.13.0 django-fontawesome-0.2.6 django-rql-filter-0.1.3 django-suit-0.2.21 django-taggit-0.17.6 djangorestframework-3.4.7 grako-3.12.1 hamlpy-0.82.2 ijson-2.2 markdown-2.6.7 political-memory psycopg2-2.6.2 pygments-2.1.3 python-dateutil-2.4.2 pytz-2016.7 six-1.10.0 unicodecsv-0.14.1
You are using pip version 8.0.0, however version 8.1.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
[lqdn_env] 19/10 2016 23:07:01 jpic@lue ~/work/lqdn/political_memory (agrausem/political_memory-docker)
$ ./testenv/bin/python -c 'import django; print django.VERSION'
(1, 8, 15, 'final', 0)
```
If anyone reproduces it please post here. https://git.laquadrature.net/la-quadrature-du-net/memopol/memopol/-/issues/173Wrong environment variables in docs/development.rst2017-05-14T15:36:02+02:00zebulineWrong environment variables in docs/development.rstThe doc mentions environment variables prefixed by `MEMOPOL_DB_`.
The settings.py file contains only environment variables prefixed by `DB_`.The doc mentions environment variables prefixed by `MEMOPOL_DB_`.
The settings.py file contains only environment variables prefixed by `DB_`.https://git.laquadrature.net/la-quadrature-du-net/memopol/memopol/-/issues/172Documentation updates2017-03-23T15:24:11+01:00zebulineDocumentation updates* on the page https://www.memopol.org/pages/download-install-instructions.html the doc link redirects to rtd instead of https://memopol.lqdn.fr/docs/
* same thing in the block "More about Memopol"
* https://memopol.lqdn.fr/docs/develop...* on the page https://www.memopol.org/pages/download-install-instructions.html the doc link redirects to rtd instead of https://memopol.lqdn.fr/docs/
* same thing in the block "More about Memopol"
* https://memopol.lqdn.fr/docs/development.html => the git link is wrong (github)https://git.laquadrature.net/la-quadrature-du-net/memopol/memopol/-/issues/170Fix representative import2017-05-31T17:44:21+02:00Jamesie PicFix representative importUpdate representatives exits before finishing:
```
+ parltrack_download_pipe ep_meps_current.json.xz parltrack_import_representatives
+ '[' -n '' ']'
+ '[' -n '' ']'
+ '[' -f ep_meps_current.json.xz ']'
+ '[' -n '' ']'
+ export...Update representatives exits before finishing:
```
+ parltrack_download_pipe ep_meps_current.json.xz parltrack_import_representatives
+ '[' -n '' ']'
+ '[' -n '' ']'
+ '[' -f ep_meps_current.json.xz ']'
+ '[' -n '' ']'
+ export DJANGO_SETTINGS_MODULE=memopol.settings
+ DJANGO_SETTINGS_MODULE=memopol.settings
+ parltrack_import_representatives
+ unxz -c ep_meps_current.json.xz
Traceback (most recent call last):
File "/home/jpic/work/lqdn/lqdn_env/bin/parltrack_import_representatives", line 11, in <module>
load_entry_point('political-memory', 'console_scripts', 'parltrack_import_representatives')()
File "/home/jpic/work/lqdn/political_memory/src/representatives/contrib/parltrack/import_representatives.py", line 423, in main
importer.manage_mep(data)
File "/home/jpic/work/lqdn/lqdn_env/lib/python2.7/site-packages/django/utils/decorators.py", line 145, in inner
return func(*args, **kwargs)
File "/home/jpic/work/lqdn/political_memory/src/representatives/contrib/parltrack/import_representatives.py", line 97, in manage_mep
_parse_date(mep_json["Birth"]["date"])
KeyError: 'Birth'
^C
```Maxime JanvierMaxime Janvierhttps://git.laquadrature.net/la-quadrature-du-net/memopol/memopol/-/issues/167CI improvements2017-03-23T15:40:57+01:00njoyardCI improvements- See if we can get a clear report of #failures
- Try to make py.test colors pass through tox and gitlab (for easier reading of results)
- Check that cancelled jobs are actually killed (looks like they still complete in the background ...- See if we can get a clear report of #failures
- Try to make py.test colors pass through tox and gitlab (for easier reading of results)
- Check that cancelled jobs are actually killed (looks like they still complete in the background and prevent other jobs from starting)okhinokhin@laquadrature.netokhinokhin@laquadrature.nethttps://git.laquadrature.net/la-quadrature-du-net/memopol/memopol/-/issues/160Recherche de parlementaires (dans l'admin)2017-03-23T15:24:11+01:00SereinRecherche de parlementaires (dans l'admin)Mettre un autocomplete sur la sélection des parlementaires dans l'admin (actuellement ça cherche dans les prénoms seulement ==> ingérable)
Merci <3 Mettre un autocomplete sur la sélection des parlementaires dans l'admin (actuellement ça cherche dans les prénoms seulement ==> ingérable)
Merci <3 https://git.laquadrature.net/la-quadrature-du-net/memopol/memopol/-/issues/159Positions publiques (depuis l'admin)2017-03-23T15:24:11+01:00SereinPositions publiques (depuis l'admin)Dans "Add Position" (sur l'admin), rajouter la possibilité d'ajouter d'un coups plusieurs signataires à une position https://memopol.lqdn.fr/admin/representatives_positions/position/add/
==> utile pour rajouter facilement tous les sig...Dans "Add Position" (sur l'admin), rajouter la possibilité d'ajouter d'un coups plusieurs signataires à une position https://memopol.lqdn.fr/admin/representatives_positions/position/add/
==> utile pour rajouter facilement tous les signataires d'un amendement, par ex. http://www.assemblee-nationale.fr/14/amendements/2697/AN/305.asp
Merci <3 njoyardnjoyardhttps://git.laquadrature.net/la-quadrature-du-net/memopol/memopol/-/issues/158Tri des parlementaires2017-03-23T15:24:11+01:00Agnes-Tri des parlementairesLe tri (par score par exemple) ne fonctionne pas sur tous les ordinateurs et nous n'avons pas réussi à identifier s'il s'agissait un problème de navigateur ou autre. Fonctionnait notamment sous firefox sous Debian, mais pas sous Ubuntu.Le tri (par score par exemple) ne fonctionne pas sur tous les ordinateurs et nous n'avons pas réussi à identifier s'il s'agissait un problème de navigateur ou autre. Fonctionnait notamment sous firefox sous Debian, mais pas sous Ubuntu.https://git.laquadrature.net/la-quadrature-du-net/memopol/memopol/-/issues/157Recommandations2017-06-18T16:17:24+02:00Agnes-RecommandationsExemple utilisé : https://memopol.lqdn.fr/dossiers/308/proposals/
* Quand on ajoute une recommandation et qu'on clique sur "save", on retombe sur une page avec toutes les recommandations, au lieu de retomber sur la page du dossier su...Exemple utilisé : https://memopol.lqdn.fr/dossiers/308/proposals/
* Quand on ajoute une recommandation et qu'on clique sur "save", on retombe sur une page avec toutes les recommandations, au lieu de retomber sur la page du dossier sur lequel on était (par exemple je mets une recommandation sur le dossier Net neutrality et je reviens sur une page avec plein de choses qui n'ont rien à voir) => vraiment important car cela rend le truc inutilisable !
* Le bouton "save and add another" n'a pas de sens car ne limite pas à un texte en particulier (toujours l'ex de la neutralité du Net : je me retrouve avec des trucs sur les perspectives financières => rien à voir)
* Sur cette page : https://memopol.lqdn.fr/dossiers/308/proposals/ on ne voit pas les proposals qui ont déjà des recommandations et celles qui n'en ont pas
* Toujours sur la même page https://memopol.lqdn.fr/dossiers/308/proposals/ si on veut aller modifier une recommandation déjà faite, on ne peut que cliquer sur add a recommandation et du coup on arrive sur une nouvelle recommandation à remplir et on n'a pas accès à la recommandation existante.okhinokhin@laquadrature.netokhinokhin@laquadrature.nethttps://git.laquadrature.net/la-quadrature-du-net/memopol/memopol/-/issues/153Error when searching recommendations from admin2017-03-23T15:24:11+01:00njoyardError when searching recommendations from admin*Created by: njoyard*
```
Environment:
Request Method: GET
Request URL: http://localhost:8000/admin/representatives_recommendations/recommendation/?q=plop
Django Version: 1.8.14
Python Version: 2.7.10
Installed Applications:...*Created by: njoyard*
```
Environment:
Request Method: GET
Request URL: http://localhost:8000/admin/representatives_recommendations/recommendation/?q=plop
Django Version: 1.8.14
Python Version: 2.7.10
Installed Applications:
('dal',
'dal_select2',
'suit',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.humanize',
'django.contrib.sites',
'compressor',
'bootstrap3',
'datetimewidget',
'django_filters',
'fontawesome',
'rest_framework',
'taggit',
'core',
'memopol',
'memopol_scores',
'memopol_settings',
'memopol_themes',
'representatives',
'representatives_votes',
'representatives_recommendations',
'representatives_positions',
'debug_toolbar')
Installed Middleware:
(u'debug_toolbar.middleware.DebugToolbarMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.contrib.sites.middleware.CurrentSiteMiddleware')
Traceback:
File "/home/niko/dev/memopol/ve/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
132. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/niko/dev/memopol/ve/local/lib/python2.7/site-packages/django/contrib/admin/options.py" in wrapper
618. return self.admin_site.admin_view(view)(*args, **kwargs)
File "/home/niko/dev/memopol/ve/local/lib/python2.7/site-packages/django/utils/decorators.py" in _wrapped_view
110. response = view_func(request, *args, **kwargs)
File "/home/niko/dev/memopol/ve/local/lib/python2.7/site-packages/django/views/decorators/cache.py" in _wrapped_view_func
57. response = view_func(request, *args, **kwargs)
File "/home/niko/dev/memopol/ve/local/lib/python2.7/site-packages/django/contrib/admin/sites.py" in inner
233. return view(request, *args, **kwargs)
File "/home/niko/dev/memopol/ve/local/lib/python2.7/site-packages/django/utils/decorators.py" in _wrapper
34. return bound_func(*args, **kwargs)
File "/home/niko/dev/memopol/ve/local/lib/python2.7/site-packages/django/utils/decorators.py" in _wrapped_view
110. response = view_func(request, *args, **kwargs)
File "/home/niko/dev/memopol/ve/local/lib/python2.7/site-packages/django/utils/decorators.py" in bound_func
30. return func.__get__(self, type(self))(*args2, **kwargs2)
File "/home/niko/dev/memopol/ve/local/lib/python2.7/site-packages/django/contrib/admin/options.py" in changelist_view
1550. self.list_max_show_all, self.list_editable, self)
File "/home/niko/dev/memopol/ve/local/lib/python2.7/site-packages/django/contrib/admin/views/main.py" in __init__
81. self.queryset = self.get_queryset(request)
File "/home/niko/dev/memopol/ve/local/lib/python2.7/site-packages/django/contrib/admin/views/main.py" in get_queryset
359. request, qs, self.query)
File "/home/niko/dev/memopol/ve/local/lib/python2.7/site-packages/django/contrib/admin/options.py" in get_search_results
991. queryset = queryset.filter(reduce(operator.or_, or_queries))
File "/home/niko/dev/memopol/ve/local/lib/python2.7/site-packages/django/db/models/query.py" in filter
679. return self._filter_or_exclude(False, *args, **kwargs)
File "/home/niko/dev/memopol/ve/local/lib/python2.7/site-packages/django/db/models/query.py" in _filter_or_exclude
697. clone.query.add_q(Q(*args, **kwargs))
File "/home/niko/dev/memopol/ve/local/lib/python2.7/site-packages/django/db/models/sql/query.py" in add_q
1310. clause, require_inner = self._add_q(where_part, self.used_aliases)
File "/home/niko/dev/memopol/ve/local/lib/python2.7/site-packages/django/db/models/sql/query.py" in _add_q
1332. current_negated, allow_joins, split_subq)
File "/home/niko/dev/memopol/ve/local/lib/python2.7/site-packages/django/db/models/sql/query.py" in _add_q
1338. allow_joins=allow_joins, split_subq=split_subq,
File "/home/niko/dev/memopol/ve/local/lib/python2.7/site-packages/django/db/models/sql/query.py" in build_filter
1200. lookups, value)
File "/home/niko/dev/memopol/ve/local/lib/python2.7/site-packages/django/db/models/fields/related.py" in get_lookup_constraint
1774. raise TypeError('Related Field got invalid lookup: %s' % lookup_type)
Exception Type: TypeError at /admin/representatives_recommendations/recommendation/
Exception Value: Related Field got invalid lookup: icontains
```