Ceisteanna Coitianta: Bunachair shonraí agus samhlachaLink to this heading

Conas is féidir liom a fheiceáil go bhfuil na ceisteanna SQL amh Django ag rith?Link to this heading

Cinntigh go bhfuil do shuíomh Django :setting:'DEBUG' socraithe go ''True''. Ansin déan é seo:

Python console
>>> from django.db import connection
>>> connection.queries
[{'sql': 'SELECT polls_polls.id, polls_polls.question, polls_polls.pub_date FROM polls_polls',
'time': '0.002'}]

Níl ''connection.queries'' ar fáil ach amháin má tá :setting:'DEBUG' is ''Fíor''. Is liosta foclóirí é in ord forghníomhú an fhiosraithe. Tá an méid seo a leanas i ngach foclóir:

  • ''sql'' - An ráiteas SQL amh

  • ''time'' - Cá fhad a thóg an ráiteas a fhorghníomhú, i soicindí.

Folaíonn ''connection.queries'' gach ráiteas SQL -- INSERTs, UPDATES, SELECTs, etc. Gach uair a bhuaileann d'aip an bunachar sonraí, déanfar an cheist a thaifeadadh.

Má tá tú ag úsáid :d oc:'ilbhunachair shonraí</topics/db/multi-db>', is féidir leat an comhéadan céanna a úsáid ar gach ball den fhoclóir ''naisc'':

Python console
>>> from django.db import connections
>>> connections["my_db_alias"].queries

Más gá duit an liosta ceisteanna a ghlanadh de láimh ag pointe ar bith i d'fheidhmeanna, glaoigh ar ''reset_queries()'', mar seo:

Code
from django.db import reset_queries

reset_queries()

An féidir liom Django a úsáid le bunachar sonraí preexisting?Link to this heading

Tá. Féach :d oc:'Comhtháthú le bunachar sonraí oidhreachta </howto/legacy-databases>'.

Má dhéanaim athruithe ar mhúnla, conas is féidir liom an bunachar sonraí a nuashonrú?Link to this heading

Féach ar thacaíocht Django do:mod:'schema migrations <django.db.migrations>'.

Mura miste leat sonraí a ghlanadh, tá rogha :d jadmin:'flush' ag fóntais ''manage.py' do thionscadail chun an bunachar sonraí a athshocrú chuig an stát ina raibh sé díreach tar éis :d jadmin:'migrate' a fhorghníomhú.

An dtacaíonn samhlacha Django le heochracha bunscoile ilcholúin?Link to this heading

Partially. See Composite primary keys.

An dtacaíonn Django le bunachair shonraí NoSQL?Link to this heading

Ní thacaíonn Django féin go hoifigiúil le bunachair shonraí NoSQL. Tá roinnt tionscadal taobh agus forcanna ann, áfach, a cheadaíonn feidhmiúlacht NoSQL i Django.

Is féidir leat breathnú ar 'an leathanach wiki'_ a phléann roinnt tionscadal.

Conas is féidir liom roghanna a bhaineann go sonrach le bunachar sonraí a chur le mo ráitis CREATE TABLE, mar shampla MyISAM a shonrú mar an cineál tábla?Link to this heading

Déanaimid iarracht gan cásanna speisialta a chur leis an gcód Django chun freastal ar na roghanna go léir a bhaineann go sonrach le bunachar sonraí, mar shampla cineál tábla, etc. Más mian leat aon cheann de na roghanna seo a úsáid, imirce a chruthú le :class:'~django.db.migrations.operations.RunSQL' oibríocht ina bhfuil ráitis ''ALTER TABLE'' a dhéanann an méid is mian leat a dhéanamh.

Mar shampla, má tá MySQL á úsáid agat agus más mian leat do tháblaí an cineál tábla MyISAM a úsáid, bain úsáid as an SQL seo a leanas:

SQL
ALTER TABLE myapp_mytable ENGINE=MyISAM;