Comments (6)
Do nastavení usera dám položku "Korešpondečná adresa", kde bude radio button s 3 možnosťami: domov, škola a iná. Pri vybratí školy dám do user.mailing_address adresu školy, pri výbere inej sa ukážu polia na vyplnenie korešpondenčnej adresy ako teraz.
from web.
Ak si user zvolí, že chce posielať na školu, čo má vrátiť metóda get_mailing_address? Lebo zo školy nejde pekne vytvoriť adresa, napr. škola nemá pole pre krajinu. Navyše škola potrebuje v adrese aj svoj názov.
Chceme nejako meniť modely, aby tieto veci boli kompatibilné? Nie je to treba. Stačí, keď do Usera pridám Field, kam chce posielať poštu (domov - škola - inde) a metóda get_mailing_address bude vracať home_address (pri škole), resp. vráti adresu, do ktorej nejako napchám údaje školy. Pre KMS by to stačilo, lebo keď posielame do školy, neposielame na mená, ale všetkým riešiteľov v spoločnej obálke s adresou školy.
from web.
Navrhujem toto:
urobit abstraktny model pre adresu, z ktorej bude dedit db model.
V modeli pre skolu urobit metodu:
get_mailing_address(self)
a v userovi get_school_mailing_address(self)
,
ktore budu vracat vhodnu adresu.
from web.
Adresu školy do mailing_address nakoniec nebudem dávať, je tam podľa mňa zbytočná. Bude sa dať získať pomocou get_school_mailing_address(self), ako Mio navrhol. Táto metóda vráti inštanciu triedy SchoolAddress (potomok AbstractAddress) s požadovanými atribútmi.
V Userovi som pôvodné has_mailing_address nahradil mailing_option, čo hovorí, kam chce user posielať poštu (domov / do školy / na mailing_address). Keďže je to nový atribút, tak by sa hodilo ho nastaviť u userov v databáze, tak by som v management/commands vytvoril vlastný manage.py command, ktorý by to spravil (ak sa takéto veci robia inak, tak ma opravte).
from web.
Keďže je to nový atribút, tak by sa hodilo ho nastaviť u userov v databáze, tak by som v management/commands vytvoril vlastný manage.py command, ktorý by to spravil (ak sa takéto veci robia inak, tak ma opravte).
Ak to spravne chapem, tak je to vec skor migracie (bud nastavime nejaky default vseobecne - aplikuje sa aj pri migracii) alebo specialne v migracii nastavime ze co sa tam ma dat.
Som za default, ale asi to nebude uplne jednoduche - asi by sme chceli nieco typu - default = home, a ak ma mailing address tak mailing option = mailing address.
Akurat mi pride ze toto je vec co bude musiet urobit user viacmenej navyse (teda UI s tym teraz moc nerata) Neni lepsie mat iba chcekbox posielat na skolu?
get_mailing_option
logika by potom bola takato:
- ak je zaskrtnute posielat na skolu, posiela sa na skolu
- inak ak je vyplneny mailing address, posiela sa nan
- inak sa posiela domov
Toto je len navrh, ak si myslis ze mailing_option je lepsia moznost a vies si ktomu predstavit vhodne UI - go for it.
from web.
Neni lepsie mat iba chcekbox posielat na skolu?
Hej, nad tým som tiež uvažoval. V modeli Usera by som to tak spravil a nebolo by treba vlastne ani žiadnu úpravu dát. Len by sa pridal BoolField každému userovi, ktorý by bol default false.
V TrojstenUserBaseForm by som však mailing_option radiobutton nechal. Príde mi to lepšie ako mať dva checkboxy, ktoré by nemali byť zaškrknuté naraz. Ešte by som tomu nastavil initial value na home. Teda ak si chce user nechať posielať domov, tak to má defaultne vybrané a ak chce do školy alebo inde, tak si to v radiobutton prestaví. Nakuniec pri save formulára podľa toho správne vyplním mail_to_school
a mailing_address
.
from web.
Related Issues (20)
- hljs nezvláda detekovať jazyk submitu HOT 1
- Výsledkovka sa rozbíja, again.
- admin security holes
- UserPropertyKey description
- Menu na mobile nefunguje HOT 1
- libmagic asi nie je uplne najlepsi napad HOT 8
- Zo zadania sa nedá jednoducho prejsť na vzorák (KSP doprogr.) HOT 2
- Na nástenke sa nezobrazuje, že je kolo skryté.
- Zobrazovanie autorov noviniek HOT 1
- pridelovanie vedúceho k úlohe
- Zamyslieť sa, čo naozaj potrebujeme o userovi vedieť
- Registrácia rozbije oauth flow HOT 1
- "Pozrieť na stránke" pri úlohe v admine je scam
- Kolonka na komentár je malá
- Submity v opravovateľskom zipe
- Autocomplete vs. form na opravovanie úloh
- Zobrazovanie matiky
- Assignment of points fails if only small hint exists HOT 1
- [Susi] - Incorporate new rule changes.
- Dropdown pridelovanie veducich k ulohe
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from web.