J'ai deux modèles liés par une clé étrangère: Par défaut, un Modelform Django présentera en tant que
4 Réponses :
Il y a quelques problèmes ici. P>
Premièrement, vous avez défini un champ, pas un widget, vous ne pouvez donc pas l'utiliser dans le dictionnaire secondaire Je ne suis pas sûr que l'un de ceux a causé votre erreur réelle. Vous devez poster la trace actuelle pour que nous soyez sûr. P> widgets code>. Vous devrez remplacer la déclaration de champ au niveau supérieur du formulaire. P>
get_or_create code> renvoie deux valeurs em>: l'objet récupéré ou créé, et un booléen à montrer s'il a été créé ou non. Vous voulez vraiment simplement renvoyer la première de ces valeurs de votre
à_python code> méthode. P>
Quelque chose comme ça devrait fonctionner:
Cela aide beaucoup. Mais j'ai toujours des problèmes, un code non standard serait-il requis dans la vue? La mienne souffle sur le chèque IS_VALID () TOUJOURS: impossible d'assigner "U'MYSTRING '": "testmodel.atribution" doit être une instance "TestSource".
@ Brown145: Je pense que vous devez exclure l'attribution, sinon cela essaiera de le valider. Voir ma réponse mise à jour.
TestForm.Attribution s'attend à une valeur INT - Clé du modèle testsource.
Peut-être que cette version du modèle sera plus pratique pour vous: p>
class TestSource(models.Model): name = models.CharField(max_length=100, primary_key=True)
pris de:
Comment faire un champ de clé étrangère modifiable de modelform dans un modèle Django? p> Cette version définit les données initiales du champ S_ADDRESS comme le FK de soi-même, pendant Bien que, j'aimerais savoir s'il y a un remplacement de Django intégré plus simple. P> P>