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ď č. 1Rozhodol 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.