Re: Django channels communication not asynchronous

2018-12-28 Thread Andrew Godwin
Channels request/response cycles must be natively non-blocking all the way
from the application code up through the server. If you even so much as
slightly block you're going to disrupt everything and maybe deadlock it,
which is why you need to be careful about when you call synchronous things.

If you don't want to deal with all of this, use the SyncConsumer variants
of everything and/or normal django views which will safely run stuff in
threads for you.

Andrew

On Mon, Dec 24, 2018 at 7:24 PM Akshay Surya  wrote:

> Sorry for that Actually in my code I did use await before send, but
> somehow got deleted when I posted here... I would try debugging it but I am
> having a doubt that it's because django is inherently event driven... Is
> there something like a request response cycle should be synchronous that
> you can't send responses in batches? Should I try to do it like conduct the
> execution in threads and the results being pushed to channel layer in the
> background and using django signals to trigger a call whenever something is
> pushed to the channel and send it to a websocket connection... But wouldn't
> that require two websocket connections? One for requesting and another for
> receiving responses Or am I going about it the wrong way
>
> On Monday, December 24, 2018 at 8:36:24 PM UTC+5:30, Andrew Godwin wrote:
>>
>> You appear to have missed an "await" before "self.send" - could that be
>> the cause?
>>
>> In general, the best thing to do if things seem to "block" is to set the
>> environment variable PYTHONASYNCIODEBUG=1 and Python will warn you if
>> anything blocks for too long and seems synchronous.
>>
>> Andrew
>>
>> On Mon, Dec 24, 2018 at 2:24 PM Akshay Surya  wrote:
>>
>>>
>>>
>>> Hi everybody,
>>>
>>> I wrote django channels code to send api data from two different sources
>>> asynchronously through webscokets. The different sources takes few seconds
>>> to 1 minute to compute and send back the data. I managed to call them
>>> asynchronously using asyncio event loop. But the issue is that they are not
>>> sending the response back asynchronously. The code just waits for the all
>>> the data to arrive and sends everything at the same time.
>>>
>>> Channels Code:
>>>
>>> class SearchHotelConsumer(AsyncWebsocketConsumer):
>>> def __init__(self, *args, **kwargs):
>>> super().__init__(*args, **kwargs)
>>> self.source1 = Source1()
>>> self.source2 = Source2()
>>>
>>> async def connect(self):
>>> await self.accept()
>>>
>>> def disconnect(self, close_code):
>>> pass
>>>
>>> async def _source1_handler(self, request, queue):
>>> source1_response = await self.source1.async_post(request)
>>>
>>> await queue.put(source1_response.data)
>>>
>>> async def _source2_handler(self, request, queue):
>>> source2_response = await self.source2.async_post(request)
>>>
>>> await queue.put(source2_response.data)
>>>
>>> async def _send_msg(self, queue):
>>> while True:
>>> message = await queue.get()
>>> if message is None:
>>> break
>>> print('got the message')
>>> self.send(text_data=json.dumps({
>>> 'message': message
>>> }, cls=DjangoJSONEncoder))
>>>
>>> queue.task_done()
>>>
>>> def receive(self, text_data):
>>> text_data_json = json.loads(text_data)
>>> message = text_data_json['message']
>>>
>>> request = HttpRequest()
>>> request.method = 'POST'
>>> request.session = self.scope["session"]
>>> request = Request(request)
>>> for key, val in message.items():
>>> request.data[key] = val
>>>
>>> queue = asyncio.Queue()
>>> sender = asyncio.ensure_future(self._send_msg(queue))
>>>
>>> await self._source1_handler(request, queue)
>>> await self._source2_handler(request, queue)
>>>
>>> await queue.join()
>>>
>>> sender.cancel()
>>>
>>> How can I make the message sending part truly asynchronous?
>>>
>>> Regards
>>>
>>> --
>>> 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...@googlegroups.com.
>>> To post to this group, send email to django...@googlegroups.com.
>>> 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/CAJXf11o_B7W3BiCpjKGEgEVynG2o5HoDRxY_EUFuJ%2B5Wbk5Yag%40mail.gmail.com
>>> 
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>> --
> You received this message because you are subscribed to the Google Groups
> "Django users" group

MySQL accepts 0 for a primary key but Django does not

2018-12-28 Thread Derek
I am working with some legacy data and need to preserve the existing record
ID's which, in some tables, include the value of 0 for their auto-increment
field.

I have updated the configuration file for MySQL such that the sql_mode is
set to include 'NO_AUTO_VALUE_ON_ZERO'.

I can check that this works by running the following test inside the MySQL
shell:

create table number (number int not null auto_increment primary key);
insert into number(number) values (0); select * from number; drop table
number;

++
| number |
++
|  0 |
++
1 row in set (0,00 sec)

However, when I try this approach with one of my existing models (in the
Django shell) I get an error:

from myapp.models import MyModel
MyModel.objects.create(pk=0, direction=1, code='UNK')

Traceback (most recent call last):
  File "", line 1, in 
  File
"/home/gamesbook/,virtualenvs/proj/local/lib/python2.7/site-packages/django/db/models/manager.py",
line 157, in create
return self.get_queryset().create(**kwargs)
  File
"/home/gamesbook/,virtualenvs/proj/local/lib/python2.7/site-packages/django/db/models/query.py",
line 322, in create
obj.save(force_insert=True, using=self.db)
  File
"/home/gamesbook/,virtualenvs/proj/local/lib/python2.7/site-packages/django/db/models/base.py",
line 545, in save
force_update=force_update, update_fields=update_fields)
  File
"/home/gamesbook/,virtualenvs/proj/local/lib/python2.7/site-packages/django/db/models/base.py",
line 573, in save_base
updated = self._save_table(raw, cls, force_insert, force_update, using,
update_fields)
  File
"/home/gamesbook/,virtualenvs/proj/local/lib/python2.7/site-packages/django/db/models/base.py",
line 654, in _save_table
result = self._do_insert(cls._base_manager, using, fields, update_pk,
raw)
  File
"/home/gamesbook/,virtualenvs/proj/local/lib/python2.7/site-packages/django/db/models/base.py",
line 687, in _do_insert
using=using, raw=raw)
  File
"/home/gamesbook/,virtualenvs/proj/local/lib/python2.7/site-packages/django/db/models/manager.py",
line 232, in _insert
return insert_query(self.model, objs, fields, **kwargs)
  File
"/home/gamesbook/,virtualenvs/proj/local/lib/python2.7/site-packages/django/db/models/query.py",
line 1514, in insert_query
return query.get_compiler(using=using).execute_sql(return_id)
  File
"/home/gamesbook/,virtualenvs/proj/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py",
line 902, in execute_sql
for sql, params in self.as_sql():
  File
"/home/gamesbook/,virtualenvs/proj/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py",
line 860, in as_sql
for obj in self.query.objs
  File
"/home/gamesbook/,virtualenvs/proj/local/lib/python2.7/site-packages/django/db/models/fields/__init__.py",
line 350, in get_db_prep_save
prepared=False)
  File
"/home/gamesbook/,virtualenvs/proj/local/lib/python2.7/site-packages/django/db/models/fields/__init__.py",
line 607, in get_db_prep_value
value = connection.ops.validate_autopk_value(value)
  File
"/home/gamesbook/,virtualenvs/proj/local/lib/python2.7/site-packages/django/db/backends/mysql/base.py",
line 336, in validate_autopk_value
raise ValueError('The database backend does not accept 0 as a '
ValueError: The database backend does not accept 0 as a value for AutoField.

Is there a setting I need to change such that Django does not raise this
error and allows the PK to be zero?

Thanks
Derek

-- 
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 https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/CAF1Wu3OFYU3jKjAPNTqk5DisJNGGiOr5YZiQBWBv0FTLQH87Qg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


Re: channels and https

2018-12-28 Thread Andrew Godwin
You should use an ASGI server (uvicorn/daphne) with an SSL-terminating
server (e.g. nginx) in front of it and proxying to it. Django-sslserver is
a WSGI-based server and so can't support WebSockets.

Andrew

On Tue, Dec 25, 2018 at 4:44 PM  wrote:

> How can I  use channels with https at development
> I try to use django-sslserver but that doesn't work
>
> --
> 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 https://groups.google.com/group/django-users.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/django-users/1ecb3edd-3637-476d-8a61-5ac869f89daa%40googlegroups.com
> 
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
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 https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/CAFwN1uqNWpnYop%3D%2BUL%2B86b1gUgUVzP0aiZ8LtqLoDu_YBB0BGQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


Re: MySQL accepts 0 for a primary key but Django does not

2018-12-28 Thread Simon Charette
Hello Derek,

There's no setting but this is controlled by the allows_auto_pk_0 feature 
flag [0].
Database feature are set to the default database configurations so Django 
can
minimized the number of introspection queries required to work appropriately
each time a connection is opened.

In order to override it I suggest you create a subclass of 
django.db.backends.mysql.base.DatabaseWrapper in
a custom foo.bar.base module and set feature_class to a 
.features.DatabaseFeatures[1]
subclass that sets the allows_auto_pk_0 flag to True.

e.g.

#foo/bar/base.py

from django.db.backends.mysql.base import DatabaseWrapper as 
BaseDatabaseWrapper
from django.db.backends.mysql.features import DatabaseFeatures as 
BaseDatabaseFeatures

class DatabaseFeatures(BaseDatabaseFeatures):
allows_auto_pk_0 = True

class DatabaseWrapper(BaseDatabaseWrapper):
features_class = DatabaseFeatures

Then you'll want to point your DATABASES.ENGINE to 'foo.bar' instead of 
'django.db.backends.mysql'.

Keep in mind that Django expects

1. A .base submodule [2]
2. A class named DatabaseWrapper [3]

The foo.bar module path can be renamed to whatever you want.

Cheers,

[0] 
https://github.com/django/django/blob/e817ae74da0e515db31907ebcb2d00bcf7c3f5bc/django/db/backends/mysql/features.py#L27
[1] 
https://github.com/django/django/blob/e817ae74da0e515db31907ebcb2d00bcf7c3f5bc/django/db/backends/mysql/base.py#L184
[2] 
https://github.com/django/django/blob/e817ae74da0e515db31907ebcb2d00bcf7c3f5bc/django/db/utils.py#L110
[3] 
https://github.com/django/django/blob/e817ae74da0e515db31907ebcb2d00bcf7c3f5bc/django/db/utils.py#L203

Le vendredi 28 décembre 2018 07:47:31 UTC-5, Derek a écrit :
>
> I am working with some legacy data and need to preserve the existing 
> record ID's which, in some tables, include the value of 0 for their 
> auto-increment field.
>
> I have updated the configuration file for MySQL such that the sql_mode is 
> set to include 'NO_AUTO_VALUE_ON_ZERO'.  
>
> I can check that this works by running the following test inside the MySQL 
> shell:
>
> create table number (number int not null auto_increment primary key); 
> insert into number(number) values (0); select * from number; drop table 
> number;
>
> ++
> | number |
> ++
> |  0 |
> ++
> 1 row in set (0,00 sec)
>
> However, when I try this approach with one of my existing models (in the 
> Django shell) I get an error:
>
> from myapp.models import MyModel
> MyModel.objects.create(pk=0, direction=1, code='UNK')
>
> Traceback (most recent call last):
>   File "", line 1, in 
>   File 
> "/home/gamesbook/,virtualenvs/proj/local/lib/python2.7/site-packages/django/db/models/manager.py",
>  
> line 157, in create
> return self.get_queryset().create(**kwargs)
>   File 
> "/home/gamesbook/,virtualenvs/proj/local/lib/python2.7/site-packages/django/db/models/query.py",
>  
> line 322, in create
> obj.save(force_insert=True, using=self.db)
>   File 
> "/home/gamesbook/,virtualenvs/proj/local/lib/python2.7/site-packages/django/db/models/base.py",
>  
> line 545, in save
> force_update=force_update, update_fields=update_fields)
>   File 
> "/home/gamesbook/,virtualenvs/proj/local/lib/python2.7/site-packages/django/db/models/base.py",
>  
> line 573, in save_base
> updated = self._save_table(raw, cls, force_insert, force_update, 
> using, update_fields)
>   File 
> "/home/gamesbook/,virtualenvs/proj/local/lib/python2.7/site-packages/django/db/models/base.py",
>  
> line 654, in _save_table
> result = self._do_insert(cls._base_manager, using, fields, update_pk, 
> raw)
>   File 
> "/home/gamesbook/,virtualenvs/proj/local/lib/python2.7/site-packages/django/db/models/base.py",
>  
> line 687, in _do_insert
> using=using, raw=raw)
>   File 
> "/home/gamesbook/,virtualenvs/proj/local/lib/python2.7/site-packages/django/db/models/manager.py",
>  
> line 232, in _insert
> return insert_query(self.model, objs, fields, **kwargs)
>   File 
> "/home/gamesbook/,virtualenvs/proj/local/lib/python2.7/site-packages/django/db/models/query.py",
>  
> line 1514, in insert_query
> return query.get_compiler(using=using).execute_sql(return_id)
>   File 
> "/home/gamesbook/,virtualenvs/proj/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py",
>  
> line 902, in execute_sql
> for sql, params in self.as_sql():
>   File 
> "/home/gamesbook/,virtualenvs/proj/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py",
>  
> line 860, in as_sql
> for obj in self.query.objs
>   File 
> "/home/gamesbook/,virtualenvs/proj/local/lib/python2.7/site-packages/django/db/models/fields/__init__.py",
>  
> line 350, in get_db_prep_save
> prepared=False)
>   File 
> "/home/gamesbook/,virtualenvs/proj/local/lib/python2.7/site-packages/django/db/models/fields/__init__.py",
>  
> line 607, in get_db_prep_value
> value = connection.ops.validate_autopk_value(value)
>   File 
> "/home/gamesbook/,virtualenvs/proj/local/lib/py

Building a framework

2018-12-28 Thread Muhammad Zuhair Askari
Hi! I want  to develop a framework like Django, Flask etc. using python as 
a final year project of my graduation. This may be very useful for learning 
purpose. Can anybody tell me how much time will it take for a not well 
experienced python developer? And is it a good Final Year Project?

-- 
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 https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/4e7d6365-4658-4bfa-9257-5157a233fb53%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Building a framework

2018-12-28 Thread Jason
That is highly ambitious and may not be all that attainable given you 
describe your exprience as a not well experienced python developer.  You 
might find it a better learning exercise to create a plugin or package that 
can be used by Django or Flask.  That would give you exposure to the 
internals of the framework and the overall design and code.

-- 
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 https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/05a4f81d-e66c-4819-87eb-4e24357e1939%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Building a framework

2018-12-28 Thread Jani Tiainen
Hi,

If you consider that Django has been in development over 10 years now and
been developed by several individuals. So building a framework like Django
doesn't happen overnight.

Flask is microframework, containing very minimal set of tools and relying
on external components. Building something like Flask could be possible
since you wouldn't need to deal with complex issues like ORM or database
supports.

On Fri, Dec 28, 2018 at 4:27 PM Muhammad Zuhair Askari 
wrote:

> Hi! I want  to develop a framework like Django, Flask etc. using python as
> a final year project of my graduation. This may be very useful for learning
> purpose. Can anybody tell me how much time will it take for a not well
> experienced python developer? And is it a good Final Year Project?
>
> --
> 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 https://groups.google.com/group/django-users.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/django-users/4e7d6365-4658-4bfa-9257-5157a233fb53%40googlegroups.com
> 
> .
> For more options, visit https://groups.google.com/d/optout.
>


-- 
Jani Tiainen

- Well planned is half done, and a half done has been sufficient before...

-- 
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 https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/CAHn91ocFYdArSJ%2BaTL444NuXXK2uL-UKg1uwVpBaHdMf6bv7ww%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


db_index=True not working, and indexes in class Meta yes

2018-12-28 Thread Gonzalo Amadio
I have a model like this (simplified code):

class Agreement(modes.Model):
job = models.ForeignKey(...)
class Meta:
 indexes = ( 
 models.Index(fields=['job']),
)

And when run migrations, the index is created.
BUT, after doing this:

class Agreement(modes.Model):
job = models.ForeignKey(..., db_index=True)

And running makemigrations, I have this on my console output:

- Remove index agreements__job_id_eb7df0_idx from agreement

Why db_index, is not working like it is supposed to work? 


-- 
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 https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/84ada8ad-70f2-43bb-bbbc-c12750a58c3e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Building a framework

2018-12-28 Thread Muhammad Zuhair Askari


On Friday, December 28, 2018 at 7:27:16 PM UTC+5, Muhammad Zuhair Askari 
wrote:
>
> Hi! I want  to develop a framework like Django, Flask etc. using python as 
> a final year project of my graduation. This may be very useful for learning 
> purpose. Can anybody tell me how much time will it take for a not well 
> experienced python developer? And is it a good Final Year Project?
>

-- 
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 https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/15cc0499-f240-478a-8f6a-964a9a94b254%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Building a framework

2018-12-28 Thread Muhammad Zuhair Askari
Yes, What if I move towards building such framework like Flask, I even want 
to make more simpler and having less features (just basic features) 
framework, will that be useful for learning web in a bit deeper and is it 
worthy for a final Year Project for an under-graduate level student? Or 
there is another choice that what If I just download or forked the source 
code of Django or Flask or other simple framework and first understand and 
then making changes in that framework and customize that. What about this 
idea Sir?  @jani Tiainen

On Friday, December 28, 2018 at 7:52:11 PM UTC+5, Jani Tiainen wrote:
>
> Hi,
>
> If you consider that Django has been in development over 10 years now and 
> been developed by several individuals. So building a framework like Django 
> doesn't happen overnight.
>
> Flask is microframework, containing very minimal set of tools and relying 
> on external components. Building something like Flask could be possible 
> since you wouldn't need to deal with complex issues like ORM or database 
> supports.
>
> On Fri, Dec 28, 2018 at 4:27 PM Muhammad Zuhair Askari  > wrote:
>
>> Hi! I want  to develop a framework like Django, Flask etc. using python 
>> as a final year project of my graduation. This may be very useful for 
>> learning purpose. Can anybody tell me how much time will it take for a not 
>> well experienced python developer? And is it a good Final Year Project?
>>
>> -- 
>> 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...@googlegroups.com .
>> To post to this group, send email to django...@googlegroups.com 
>> .
>> 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/4e7d6365-4658-4bfa-9257-5157a233fb53%40googlegroups.com
>>  
>> 
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
> -- 
> Jani Tiainen
>
> - Well planned is half done, and a half done has been sufficient before...
>

-- 
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 https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/ed939186-b30b-43c2-b9d6-e2da85bde218%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: best way to generate PDFs in django - handling concurrency

2018-12-28 Thread Danny Blaker
Great. Thanks

-- 
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 https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/bc336d88-c70f-42af-aa6e-87e40c6ca12e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: best way to generate PDFs in django - handling concurrency

2018-12-28 Thread Shashank Singh
Celery + django + rabbitmq + template+ django-hardcopy

https://github.com/loftylabs/django-hardcopy


On Sat, 29 Dec, 2018, 9:17 AM Danny Blaker  Great. Thanks
>
> --
> 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 https://groups.google.com/group/django-users.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/django-users/bc336d88-c70f-42af-aa6e-87e40c6ca12e%40googlegroups.com
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
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 https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/CAD-d1saCU1YGwmEXpO2WTrv3Q%3D16dD-y8_WyTgiwkaZm40gOiQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.