Страхотна поздравителна общност
Въпросът ми е свързан с вида управление на потребителите и потребителите на схемата в Django. В началото ви моля да се извините само в случай, че въпросите ми могат да бъдат твърде „новобранци“ или безсмислени, започвам да се свързвам с Django Потребителски схеми и различните им възможности за работа в проектите.
Имам следната ситуация.
Създавам приложение, в което ще имам три различни типа потребители:
- медицински
- Търпелив
- Физиотерапевт
Използвам схемата за удостоверяване на Django по подразбиране (django.contrib.auth).
Първоначално мислех в тази схема на обекти, в които таблицата User е таблицата auth_user
, в която Django запазва създадените потребители:
Имам полетата is_patient
, is_medical
и is_physiotherapist
като булеви атрибути в таблицата User.
Като конкретен детайл разбирам, че в модела по подразбиране на Django потребителят не е възможно да променя или добавя атрибути или полета.
Това е важна и мощна причина да не мога да добавя булевите полета is_patient
, is_medical
и is_physiotherapist
в таблицата с потребители.
Класическа препоръка е да разширите потребителския модел с таблица с потребителски профили, в която добавям полета или атрибути към потребителския модел чрез връзка OneToOne. Основна проба е следната:
По този начин разбирам, че моите потребители в Django могат да имат полевата снимка и да я качат в даден момент ...
Възползвайки се от предишното, следната схема може да бъде подходяща или може да бъде алтернатива за управление на потребителски роли (patient
, medical
и physiotherapist
потребителски типове)?
Ще имам връзки между:
Потребителски медицински и потребителски пациенти
потребителски физиотерапевт и потребителски пациенти
и така между тях и другите маси...
При този подход тези взаимоотношения няма ли да бъдат засегнати?
Различните потребители ще бъдат запазени между таблицата Users и UserProfile. Това добра практика ли е в смисъл на мащабируемост? Моите таблици може да се сринат или моята база данни?
Освен това съм виждал и други алтернативи като:
- Ролева таблица/модел
Ще имам независима или отделна ролева таблица/модел и че това може да бъде свързано с потребителския модел на Django (един потребител може да има много роли по пример) Този подход може да бъде полезен, когато искам да съхранявам ексклузивна информация за роля в specia ?
Пренебрегвам или не знам степента на детайлност, която ми позволява да работя. По един единствен начин видях, че системата за разрешения и оторизации ми позволява да работя с операции за създаване, редактиране и премахване....
Тук мога ли да видя създаването на групи? Например медицинска група и да им разпределите разрешения и да свържете тези разрешения с потребителите, които съставят групата? Това друга добра алтернатива ли е? Тази опция изглежда по-единична, въпреки че не знам дали потребителят може да извърши някои операции според груповите привилегии, които имат ... Не знам дали това мислене е правилно/правилно
- AUTH_USER_MODEL Създаване на персонализиран потребителски модел
Изискванията ми за пациенти, медицински и физиотерапевтични потребители изискват изграждане на персонализиран потребителски модел?