django enregistrer le modèle ForeignKey rapport
dans mon model.py
class Layer(models.Model):
user = models.IntegerField()
name = models
...
class Point(models.Model):
layers = models.ForeignKey(Layer)
meta = models.TextField()
...
dans mon view.py
def datasave(request, id):
mid = request.POST.get("layerid",default = "")
metas = request.POST.get("meta",default = "")
cs = Point()
cs.layers = mid
cs.meta = metas
cs.save()
mais il donne une erreur dans mon django debug..dans mon projet j'utilise geodjango,openlayers et extjs... je n'ai pas trouver toute solution sur sauver mon post
je ne voulais pas faire un lien avec mon foreignkey.. en gros je veux faire une couche que lorsque je veux ajouter un point dans ma couche , je veux sauver mon point de avec des id de couche....
OriginalL'auteur aragon | 2011-02-17
Vous devez vous connecter pour publier un commentaire.
Il est utile de publier la traçabilité en amont pour aider à comprendre votre problème (pour les questions d'avenir).
Il me semble que vous êtes de passage dans un certain nombre de vos
Point
de l'instancelayers
attribut qui serait la cause d'uneValueError
. Le seul endroit où vous pouvez passer d'un nombre à un champ de clé étrangère est dans un django forme qui fait la recherche pour vous.Vous devez attribuer une réelle
Layer
exemple à la place.Mon 1er changement de ligne ne serait pas la cause de cette erreur. Vous pouvez poster le traceback pour obtenir de l'aide si!
je ne sais pas quel est le sens de l'exī ... comment puis-je prendre ce
Soit le message d'erreur dans les journaux de vos serveurs ou le grand écran du message d'erreur que vous voyez lorsque
DEBUG=True
qui vous dit exactement où votre code échec.il a donné cette erreur TypeError /Couche/datasave datasave() prend exactement 2 arguments (1 donnée) Demande method = POST.... débogage page ; ..../base.py 100. réponse = rappel(demande, *callback_args,*callback_kwargs)
OriginalL'auteur Yuji 'Tomita' Tomita
Un moyen plus efficace consiste à spécifier la clé étrangère par l'ajout d'un "_id" à la fin, comme ceci:
NE PAS faire des couches=XXX.objets.get(id=###) parce que c'est de doubler le nombre de requêtes de base de données.
AUSSI ... vous n'êtes pas le nettoyage de votre POSTE de données ici, ce qui est assez dangereux. Obtenez de cette façon:
OriginalL'auteur hendrixski