Django et les clés primaires composées

nague29 Messages postés 5 Date d'inscription lundi 25 mai 2009 Statut Membre Dernière intervention 10 février 2010 - 4 janv. 2010 à 15:56
GaillardC Messages postés 7 Date d'inscription samedi 21 février 2009 Statut Membre Dernière intervention 10 février 2010 - 10 févr. 2010 à 14:33
Bonjour tout le monde,

Voila je suis débutant en python et j'utilise django. Je suis en train de créer une application web.
Et là, je bute sur quelque chose qui je pense va vous paraître stupide m'enfin bon je suis débutant donc un peu d'indulgence ...

mon problème est que je n'arrive pas à créer une classe (dans models.py donc) avec une clé primaire composé de deux champ.

Pour que vous compreniez mieux, voici la classe en question :

class tbIncrement(models.Model):
typeN = models.CharField(...)
codeN = models.CharField(...)
libelle = models.CharField(...)

class Meta:
db_table = u'Increment'

Et j'aimerais que la clé primaire soit "typeN" + "codeN".
J'ai essayé différentes choses mais sans succès. C'est pourquoi je m'en remet à vous car je désespère vraiment.

Je vous remercie de votre aide.

nague29

11 réponses

GaillardC Messages postés 7 Date d'inscription samedi 21 février 2009 Statut Membre Dernière intervention 10 février 2010
1 févr. 2010 à 16:02
Désolé, je suis également débutant en Python (et encore plus Django), je ne peux donc pas vous répondre. Par contre pouvez-vous me faire connaitre vos sources de documentation Django?
Merci et bonne pioche.
0
nague29 Messages postés 5 Date d'inscription lundi 25 mai 2009 Statut Membre Dernière intervention 10 février 2010
2 févr. 2010 à 00:12
Voila pour bien apprendre et débuter avec django :

http://djangobook.zindep.com/1.0/

bonne chance à toi
0
GaillardC Messages postés 7 Date d'inscription samedi 21 février 2009 Statut Membre Dernière intervention 10 février 2010
3 févr. 2010 à 17:59
Tres bonne doc, Merci.
Par contre impossible de charger et lancer Django sous Windows XP. (Mais aucun problème avec Python).
"django-admin.py startproject monsite" = Syntax Error : invalid syntax

Si vous connaissiez le problème et sa solution, voire une autre voie de mise en oeuvre, je serais ravi d'en prendre connaissance. Merci
0
nague29 Messages postés 5 Date d'inscription lundi 25 mai 2009 Statut Membre Dernière intervention 10 février 2010
3 févr. 2010 à 23:36
Salut !
Tu dois télécharger l'archive Django-1.1.1.tar.gz à cette adresse :
http://www.djangoproject.com/download/

Ensuite tu décompresses l'archive. Puis, avec l'invite de commande tu te places dans le dossier que tu as décompressé puis tu tapes l'instruction :
setup.py install

Ensuite, tu crés un dossier qui contiendra tes projets et tu met dedans le fichier django-admin.py qui se trouve lui aussi dans le dossier que tu as décompréssé précédemment.

Enfin, avec l'invite de commande tu te places dans le dossier que tu vient de creer pour tes projets(et qui contient django-admin.py donc) et tu tapes l'instruction :
django-admin.py startproject monsite

et magique ! Le tour est jouer

J'espère que j'ai été assez clair au moins.
Bon courage à toi en tout cas

kiradeus
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
GaillardC Messages postés 7 Date d'inscription samedi 21 février 2009 Statut Membre Dernière intervention 10 février 2010
4 févr. 2010 à 10:52
Très clair. Merci beaucoup celà fonctionne.
0
GaillardC Messages postés 7 Date d'inscription samedi 21 février 2009 Statut Membre Dernière intervention 10 février 2010
6 févr. 2010 à 18:13
C'est encore moi. Rebonjour.

J'ai progressé, mais rencontre un autre problème un peu plus loin!

Lorsque je lance "manage.py syncdb" ou "manage.py runserver" il survient :

(import email.mime)

ImportError: No module named mime

C:\Python26\Lib\email\__init__.py (line 118)

Remarques plusieurs imports sont effectués avant l'incident et
mime est un dossier pas un fichier python!

sinon, bloqué "manage.py runserver"

j'ai trouvé un autre tutorial / "lesiteduzero.com", réalisé dont les tables sqlite3 avec un index composé sur une table (pas en Django, mais est-ce indispensable en Django puisque c'est le SGBD qui execute?)

Je bloque juste après "manage.py syncdb" No module named mime?

Voilà, voilà, je poursuis.
Bien entendu tout indice et à plus forte raison solution est le bienvenu.

Bon weekend
0
GaillardC Messages postés 7 Date d'inscription samedi 21 février 2009 Statut Membre Dernière intervention 10 février 2010
8 févr. 2010 à 16:07
Bonjour,

Ne pas tenir compte du message qui précède SVP.

J'ai tout effacé et tout rechargé, celà fonctionne beaucoup mieux.

Désolé de vous avoir fait perdre de votre temps.

Merci
0
nague29 Messages postés 5 Date d'inscription lundi 25 mai 2009 Statut Membre Dernière intervention 10 février 2010
9 févr. 2010 à 17:19
ok ben tant mieux alors si y'a plus de problème.
Par contre si tu trouves quelue chose d'interressant expliquanbt comment on alimente une bdd à partir d'un formulaire je suis preneur car moi je bloque sec !

merci à toi

nague29
0
GaillardC Messages postés 7 Date d'inscription samedi 21 février 2009 Statut Membre Dernière intervention 10 février 2010
10 févr. 2010 à 09:40
Merci du message.

Il y a effectivement du mieux.

Après avoir effacé et rechargé, j'ai réussi à passer les points critiques précédents pour bloquer sur de nouveaux:

"manage.py runserver" se lance correctement

par contre: "http:127.0.0.1:8000" provoque

ImproperlyConfigured : Error Importing django.middleware.common "No module named MIMEText"

ce qui est proche des problèmes antérieurs (SYNCDB), qui se sont réglés par un déplacement du fichier BD sqlite3(via settings.py database-name).

Sous Windows XP au moins, la mise en place de Django me parait plus délicate que les écrits disponibles le laissent supposer. Deplus ces écrits sont peu nombreux et encore moins in french.

Si je surmonte ces tranchés et avance significativement je vous en tiens informé.
Bon courage
0
nague29 Messages postés 5 Date d'inscription lundi 25 mai 2009 Statut Membre Dernière intervention 10 février 2010
10 févr. 2010 à 14:13
Bonjour GaillardC !

J'ai cru comprendre que tu utilisait python 2.6. Moi personnellement je préfère python 2.5 et je travaille en plus avec postgreSQL donc c'est différent.

Il me semble que j'avais eu un problème de ce type (avec syncdb).
La commande renvoyait une erreur car je n'avais pas installé "psycopg2-2.0.7.win32-py2.5". C'est un petit truc à installer spécialement pour pouvoir travailler avec postgreSQL et python 2.5. Peut-être il y a un truc du genre à faire avec sqlite3 ??

Je ne fais que te ressortir des idées comme ça je ne suis sûr de rien là franchement. Sinon regarde bien si tu as vraiment tout installé ce qu'il faut et dans l'ordre.

En espérant que ça t'aideras

nague29
0
GaillardC Messages postés 7 Date d'inscription samedi 21 février 2009 Statut Membre Dernière intervention 10 février 2010
10 févr. 2010 à 14:33
J'utilise en effet python 2.6.4 qui de base intégre sqlite3 qui ne nécèssiterait pas de add on. Pour l'instant SYNCDB fonctionne j'aviserai
si un problème se présente.

Merci des remarques, il est intéressant d'avoir des retours d'expérience.


Autre problème ouvert, sans aucun rapport avec le précédent.
J'utilise une imprimante HP Photosmart C3190 depuis 2 ans et plus. Il y a quelques jours panne d'impression en noir. Je change la cartouche (pour une recyclée), toujours impossible d'imprimer en noir, alors que le test d'impression, couleur dont noir, OK.
Idem avec une autre cartouche, également recyclée???
0
Rejoignez-nous