- 231
- 8
- CPU
- i5-6500
- Scheda Madre
- ASRock H170 Pro4S
- HDD
- Samsung 870QVO 1TB, Samsung 850EVO 250GB, HD Toshiba 2TB
- RAM
- Corsair DD4 2133 C13 2x4GB
- GPU
- Sapphire R9 380 4GB NITRO
- Audio
- Integrata + DAC Audioengine D1
- Monitor
- LG 24MB56HQ-B IPS
- PSU
- XFX 550 Black
- Case
- Corsair Spec-03
- Periferiche
- Casse Edifier R1800TIII
- OS
- Windows 10
Linguaggio python/django ma la domanda é più generica e riguarda anche altri linguaggi simili.
Ho alcune classi di oggetti da mettere in relazione tra loro e vorrei sapere quale sia il sistema più efficiente per farlo.
Per spiegarmi meglio mettiamo che la prima classe rappresenti le marche delle automobili. La seconda invece i concessionari. La terza gli antifurti e mi fermo qui ma in realtà sono molte classi. Ognuna di esse ha molti valori (centinaia, migliaia) e il legame può essere di vario tipo (per esempio il concessionario può essere rivenditore aturizzato o no, averle solo nuove o anche usate, etc).
Quello che vorrei è per ogni oggetto (quindi per ogni marca di auto, ad esempio) definire in che concessionari è venduta (autorizzato o no, nuove o usate, etc), che tipo di antifurto ha, etc etc.
Il metodo più diretto sarebbe usare un ManyToManyField con campo through per i dati aggiuntivi, (ovvero creare un'altra tabella marca-concessionario e un'altra marca-antifurto etc) e questo è quanto fatto finora. Essendo però centinaia di oggetti a classe verrebbero fuori 100x100=10000 combinazioni a tabella (e anche molti più) cosa che mi pone due problemi:
1) pur usando (ovviamente) valori di default i dati da inserire sono notevoli (migliaia, decine di migliaia, spero non di più)
2) tutti questi dati possono dare problemi di hardware/rete o simili? cioé causa la mia inesperienza non mi rendo conto a livello di HD o di tempo per processare una query o di larghezza di banda per trasmetterli se possono dare noie. Penso di no perché magari ciò che occupa 'posto' sono altre cose (grafica) però poi vedo che ad esempio dwarf fortress lagga, quindi il dubbio mi viene...
Quindi é questa l'impostazione giusta o magari ce ne sono altre più efficienti?
Ho alcune classi di oggetti da mettere in relazione tra loro e vorrei sapere quale sia il sistema più efficiente per farlo.
Per spiegarmi meglio mettiamo che la prima classe rappresenti le marche delle automobili. La seconda invece i concessionari. La terza gli antifurti e mi fermo qui ma in realtà sono molte classi. Ognuna di esse ha molti valori (centinaia, migliaia) e il legame può essere di vario tipo (per esempio il concessionario può essere rivenditore aturizzato o no, averle solo nuove o anche usate, etc).
Quello che vorrei è per ogni oggetto (quindi per ogni marca di auto, ad esempio) definire in che concessionari è venduta (autorizzato o no, nuove o usate, etc), che tipo di antifurto ha, etc etc.
Il metodo più diretto sarebbe usare un ManyToManyField con campo through per i dati aggiuntivi, (ovvero creare un'altra tabella marca-concessionario e un'altra marca-antifurto etc) e questo è quanto fatto finora. Essendo però centinaia di oggetti a classe verrebbero fuori 100x100=10000 combinazioni a tabella (e anche molti più) cosa che mi pone due problemi:
1) pur usando (ovviamente) valori di default i dati da inserire sono notevoli (migliaia, decine di migliaia, spero non di più)
2) tutti questi dati possono dare problemi di hardware/rete o simili? cioé causa la mia inesperienza non mi rendo conto a livello di HD o di tempo per processare una query o di larghezza di banda per trasmetterli se possono dare noie. Penso di no perché magari ciò che occupa 'posto' sono altre cose (grafica) però poi vedo che ad esempio dwarf fortress lagga, quindi il dubbio mi viene...
Quindi é questa l'impostazione giusta o magari ce ne sono altre più efficienti?