SQLAlchemy-nél hogyan tudom ezt a legegyszerűbben összehozni?
Sziasztok! Kezdő Flask használó vagyok, és egy egyszerű fórumot építek gyakorlásként. Igen tudom, a Django erre jobb lenne, de nekem a Flask sokkal szimpatikusabb, és egy ilyen projekthez nem is látom értelmét egy akkora keretrendszernek.
Szóval az a helyzet, hogy szeretnék egy három adatbázist csinálni:
A) Felhasználók - email, jelszó, azonosító, név
B) Posztok (kérdések) - cím, kérdés, azonosító, kategória, szerző neve
C) Válaszok - azonosító, szöveg, szerző neve, típus (a kérdező meg tudja jelölni hasznosként)
Az lenne a kérdésem, hogy hogyan lehet ezt a legegyszerűbben létrehozni SQLite & SQLAlchemy segítségével?
Kezdő barát cikkeket nem nagyon találtam sajnos.
Szerintem ez elég kezdőbarát sorozat a Flaskról, annak is a negyedik része vezeti be az adatbázisokat, amit kéaőbb persze bővít.
"A) Felhasználók - email, jelszó, azonosító, név"
Jézusom, nehogy jelszót tárolj táblában! A jelszó megadásakor egy hash-t generálsz a jelszóból (pl sh256), azt tárolod el, és azt hasonlítod össze a bejelentkezéskor megadott jelszóból generált hash-sel. Jelszót sosem tárolunk sehogy.
"B) Posztok (kérdések) - cím, kérdés, azonosító, kategória, szerző neve"
Az összes tábla összes sorát time-sampelném a helyedben. A szerző pedig többnyire nem szerző, hanem a szerző id. Arra gondolja, hogy valakit megváltoztatja a felhasználó nevét akkor nem kell az összes táblát átírni, hanem csak a felhasználó táblát. De ez egy általános minta: a táblában van id oszlop és azt használjuk "idegen kulcsként" másik táblákban.
"C) Válaszok - azonosító, szöveg, szerző neve, típus (a kérdező meg tudja jelölni hasznosként)"
Ez a tábla nincs összekötve a kérdés táblával. Kell még egy oszlop, ahova a kérdés azonosítót teszed. A típus nem jó: az oszlop nevének utalnia ell a tartalomra: abból, hogy típus, nem következik, hogy a válasz hasznosságát fogja tartalmazni. Illetve ez így nem elég: egy táblában hordozni kell, hogy egy adott felhasználó melyik kérdéseket értékelte korábban. Ebben a formában egy felhasználó akárhányszor értékelhet egy választ.
A flask amúgy jó ilyesmire. Ebben a repoban a gyik-ről letöltött adatokat egy adatbázisba rendeztem, amiben nagyjából hasonló mezők voltak: [link]
Benne van, hogy hogyan generálod a táblákat, hogyan töltöd fel adatokkal és hogyan kérdezel le belőle adatokat. Ezek a scriptek a db_tools könyvtárban vannak.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!