Thank you so much for all this info. This really clarified things for me. 

On Tuesday, April 4, 2017 at 1:42:44 AM UTC-4, Antonis Christofides wrote:
>
> Hello,
>
> this is far from an incredibly stupid question.
>
> As you know, RDBMS's keep their own list of users and have sophisticated 
> permissions systems with which different users have different permissions 
> on different tables. This is particularly useful in desktop applications 
> that connect directly to the database. Web applications changed that. 
> Instead of the RDBMS managing the users and their permissions, we have a 
> single RDBMS user as which Django connects to the RDBMS, and this user has 
> full permissions on the database. The actual users and their permissions 
> are managed by Django itself (more precisely, by the included Django app 
> django.contrib.auth), using database tables created by Django. What a user 
> can or cannot do is decided by Django, not by the RDBMS. This is a pity 
> because django.contrib.auth (or the equivalent in other web frameworks) 
> largely duplicates functionality that already exists in the RDBMS, and 
> because having the RDBMS check the permissions is more robust and more 
> secure. I believe that the reason web frameworks were developed this way is 
> independence from any specific RDBMS, but I don't really know.
>
> So the canonical way of working is to have a single *database user* as 
> which Django logs on to the database, with full permissions on the database 
> (including permission to create and delete tables), and many *Django 
> users*, each one with different permissions. Typically only one Django 
> superuser is created. I call the superuser "admin", which I believe is the 
> common practice.
>
> You can probably do things differently, and maybe there exist custom 
> database backends that would allow you to switch the database user on 
> login, but if there's no compelling reason you should really stick to the 
> canonical way.
>
> Regards,
>
> A.
>
> Antonis Christofideshttp://djangodeployment.com
>
>
> On 04/03/2017 09:50 PM, [email protected] <javascript:> wrote:
>
> Hey everyone, 
>
> I'm new to Django and web development overall so please bare with me. I 
> may be asking an incredibly stupid question. 
>
> In the DATABASES dictionary in settings.py:
>
> DATABASES = {
>     'default': {
>         'NAME': 'something',
>         'ENGINE': 'django.db.backends.mysql',
>         'USER': 'mysql_user',
>         'PASSWORD': 'blahblah'
>     }
>
> Is it possible for me to add more then one user and password? I am working 
> with a team and we all have seperate mysql users. Also, is it preferred to 
> just have one super user for Django?
>
> -- 
> 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] <javascript:>.
> To post to this group, send email to [email protected] 
> <javascript:>.
> 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/075b8505-df99-425f-8fc8-0873f6f78c64%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/django-users/075b8505-df99-425f-8fc8-0873f6f78c64%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> 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 [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/7c75448e-2b1a-45cc-a825-3929419d667b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to