0
votes

URL DJANGO avec problème UUID

ERREUR INITIALE: lorsque la clientèle a été Charfield dans modèles.py:

 message d'erreur:

Après avoir apporté des modifications au modèle et Faire le CustomerID uuidfield Obtenir l'erreur ci-dessous:

Entrez la description de l'image ici

J'essaie de rediriger vers la vue Basé sur le CustomerID mais il ne fonctionne pas pour UUIDS. Il travaillait auparavant bien avec des entiers.

veuillez suggérer.

url.py: xxx

vues.py xxx

modèles.py xxx


2 commentaires

Pouvez-vous fournir les modèles pertinents?


@wfehr j'ai mis à jour avec le modèle. Vérifiez s'il vous plaît.


3 Réponses :


0
votes

Les lettres de l'UUID doivent être minuscules en fonction du Docs :

UUID - correspond à un uuid formaté. Pour empêcher plusieurs URL de mapper à la même page, les tirets doivent être inclus et les lettres doivent être minuscules. Par exemple, 075194D3-6885-417E-A8A8-6C931E272F00 . Retourne un uuid instance.


5 commentaires

Les entrées de la base de données sont dans CAPS .. Je ne sais pas comment gérer les uuides minuscules dans ce cas.


Vous utilisez un uuidfield, qui gère la transformation de UUID vers / depuis la représentation DB. En d'autres termes, comment vous voyez la valeur dans la DB n'est pas nécessairement la manière dont la valeur est traitée une fois dans Django Terre.


@Monkut - Merci pour votre contribution. Dans ce cas, comment puis-je transformer minuscule en majuscule dans la méthode de détail de vue.py lorsque vous obtenez? S'il vous plaît voir mes screenshots d'erreur ci-dessus.


S'il vous plaît ne pas ajouter de nouvelles questions en modifiant votre original. Votre numéro initial était l'inadéquation de regex. Je vous suggère de poster le nouveau problème comme une autre question.


Ce n'est pas une nouvelle question ... J'ai fait la modification et j'ai toujours été bloquée sur le même problème "URL Django avec UUID.



-1
votes

résolu en faisant le client Customer comme Charfield et en passant le paramètre de chaîne dans l'URL.


1 commentaires

Ne postez pas une réponse avec «résolu-la via ...» mais plutôt marquer une réponse comme acceptée si cela vous a aidé.



0
votes

pour le uuidfield semble que vous utilisiez la base de données Microsoft SQLServer qui ne prend pas en charge l'UUIDFIELD correctement ....

Donc, si vous utilisez Charfield Vous souhaitez probablement introduire une vérification de l'UUID REGEX sur le checkout de champ UUID entrant Ceci:

recherche des uuids dans le texte avec regex

Comme mentionné, vous voulez vous assurer que la valeur de DB est cohérente, il est donc possible d'utiliser .Lower () sur l'entrée validée serait une bonne idée.


0 commentaires