IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Django Python Discussion :

Django - Models auto-increment clé unique


Sujet :

Django Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2008
    Messages : 32
    Par défaut Django - Models auto-increment clé unique
    Bonjour,

    J'aimerais crée en DJANGO un id auto-incrementé en clé UNIQUE car ma "veritable" clé primaire est un varchar (et par conséquent vu que d'autres table ont des clé étrangère je prefere que ces clé se fasse sur un id et non sur un varchar)

    J'ai réussit en requête MySql mais avec Django quand je créé un id auto increment avec comme param unique=true il me génère une erreur me disant qu'il faut qu'une valeur auto-incrementé soit une clé primaire !

    Donc est ce vous savez comment faire pour créé un id auto-incrementé en clé unique ?

    Merci de votre aide.

  2. #2
    Membre très actif
    Avatar de afranck64
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 592
    Par défaut
    je ne vois pas vraiment ou se situe le soucis.
    Pour les primary key (id auto-incremente)... https://docs.djangoproject.com/en/de...ary-key-fields
    comme mentionne dans le djangobook:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    id = models.AutoField(primary_key=True)
    ce champ est par defaut ajoute a tous les models. Si par contre tu en as deja un alors.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monfield = XXYField(primary_key=True, unique=True, )
    Win 10 64 bits / Linux Mint 18, - AMD A6 Quad: Py27 / Py35
    CONTENU D'UNE QUESTION
    Exemples:
    - Configuration (système d'exploitation, version de Python et des bibliothèques utilisées)
    - Code source du morceau de programme où il y a un bogue
    - Ligne de code sur laquelle le bogue apparaît
    - Erreur complète retournée pas l'interpréteur Python
    - Recherche déjà effectuée (FAQ, Tutoriels, ...)
    - Tests déjà effectués

  3. #3
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2008
    Messages : 32
    Par défaut
    Mais mon problème c'est que je ne peux pas avoir 2 primary key donc si je mets mon id en clé primaire alors mon varchar que je souhaite mettre en clé primaire ne fonctionnera pas on ne peut avoir 2 clé primaires regarde ce que j'aimerais :

    id_url = models.AutoField(unique=True)
    url = models.CharField(max_length=255, primary_key=True)

    PS: j'ai fait une synchro : python manage.py inspectdb > models.py
    Mysql vers mon models et j'ai ça :

    id_url = models.IntegerField(unique=True)
    url = models.CharField(max_length=255, primary_key=True)

    Mais mon id_url n'est pas auto incrementé pourtant sur Mysql si on dirait que Dajngo ne prend pas en compre l'auto increment de la table Mysql ... ?

  4. #4
    Membre très actif
    Avatar de afranck64
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 592
    Par défaut
    Citation Envoyé par dseed Voir le message
    Mais mon id_url n'est pas auto incrementé pourtant sur Mysql si on dirait que Dajngo ne prend pas en compre l'auto increment de la table Mysql ... ?
    La question je ne la comprend pas.

    Pourrais-tu poster ton model en entier?
    Win 10 64 bits / Linux Mint 18, - AMD A6 Quad: Py27 / Py35
    CONTENU D'UNE QUESTION
    Exemples:
    - Configuration (système d'exploitation, version de Python et des bibliothèques utilisées)
    - Code source du morceau de programme où il y a un bogue
    - Ligne de code sur laquelle le bogue apparaît
    - Erreur complète retournée pas l'interpréteur Python
    - Recherche déjà effectuée (FAQ, Tutoriels, ...)
    - Tests déjà effectués

  5. #5
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2008
    Messages : 32
    Par défaut
    Dsl je me suis trompé j'ai compris mon erreur il faut que je mette mon id autoijncrementé en primary et mon string en unique key c plus logique et ça revient o même

  6. #6
    Membre très actif
    Avatar de afranck64
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 592
    Par défaut
    Win 10 64 bits / Linux Mint 18, - AMD A6 Quad: Py27 / Py35
    CONTENU D'UNE QUESTION
    Exemples:
    - Configuration (système d'exploitation, version de Python et des bibliothèques utilisées)
    - Code source du morceau de programme où il y a un bogue
    - Ligne de code sur laquelle le bogue apparaît
    - Erreur complète retournée pas l'interpréteur Python
    - Recherche déjà effectuée (FAQ, Tutoriels, ...)
    - Tests déjà effectués

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. auto-increment
    Par fafet dans le forum Requêtes
    Réponses: 2
    Dernier message: 11/07/2003, 15h05
  2. [MYSQL] valeur auto-increment
    Par alex1er dans le forum Requêtes
    Réponses: 5
    Dernier message: 10/07/2003, 12h26
  3. Auto Increment
    Par Guizz dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 23/06/2003, 18h36
  4. Nom du champs auto-incrementé
    Par norroy dans le forum Requêtes
    Réponses: 2
    Dernier message: 17/06/2003, 18h30
  5. Pb d'auto-incrément sur une table v7
    Par Nivux dans le forum Paradox
    Réponses: 9
    Dernier message: 26/12/2002, 12h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo