/ / django užívateľský model cudzieho kľúča spoločnosti - django, django-modely, django-orm

django užívateľský model zahraničný kľúč k spoločnosti - django, django-models, django-orm

Začínam svoj prvý projekt django a chcel by som vedieť, ktorá metóda je najlepšia na vytvorenie vzťahu medzi nimi User & Company modely.

Možnosť 1 - Použite existujúci používateľský model django a vytvorte model používateľského profilu

Class UserProfile(models.Model):
user = models.OneToOneField(User)
company = models.ForeignKey(Company)

Možnosť 2 - Vytvorenie vlastného modelu používateľa

Class MyUser(AbstractBaseUser):
"all of the required user data -- left off for brevity"
company = models.ForeignKey(Company)

Nemám problém so základným modelom používateľa, môjobavy súvisia viac s výkonom, AK aplikácia rastie do väčšieho rozsahu. Uvedomujem si, že možnosť 1 vyžaduje ďalší zásah do databázy; Páči sa mi však flexibilita mať UserProfile, ktorý je možné upraviť tak, aby obsahoval ďalšie kritériá.

Ktorú možnosť by ste uprednostnili, alebo existuje lepšia cesta?

odpovede:

1 pre odpoveď č. 1

Rozhodol som sa vytvoriť UserProfile, ktorý budem dávaťdodatočná flexibilita. Aj keď nevieme, ako bude aplikácia rásť, považujeme za dôležité udržiavať našu doménu čo najpružnejšiu. Ďakujeme za všetky vaše názory.


0 pre odpoveď č. 2

V podstate to teda závisí od prípadu použitia a rozsahuaplikácie, ak viete, že vám záleží len na používateľovi nmae, pridajte e-mail, odovzdajte hlavne potom pôjdem so zabudovaným užívateľským profilom, ktorý je dodávaný s django. Inak by som dal prednosť vytvoreniu iného UserProfile, pretože budete mať flexibilitu pridať do svojho projektu ďalšie parametre a metódy.