Tag: orm

无法在Ajax post请求中创建新的Django模型对象

这有点“我已经失去x小时调试这个”的问题/问题:( 以下jQuery js代码在按钮单击时启动POST请求 $(“#btn_create_tag”).click(function(evt) { $.post(“/tag/createAjax”, { tagname: $(“#txt_tag_name”).val() }, function(data) { } ); }); 在此调用上执行的Django代码是: @suppress_logging_output @login_required def createAjax(request): if request.is_ajax() and request.method == ‘POST’: tagName = request.POST[“tagname”] new_tag = Tag() new_tag.name = tagName new_tag.save() print “new tag with id %s has been created” % new_tag.id 该代码执行成功(我正在检查空的或已经存在的名称,但是这里没有写得更清楚),但是没有创建新的Tag对象。 我甚至在devserver的提示符下打印了“已创建id%s的新标记”,并且每次ID增加为1时,如同所设想的那样,但对象不存储在db中。 当我执行 new_tag = Tag() new_tag.name = […]

在django中制作简单可订购播放列表的最佳方法

简单的django orm问题: 我有一个非常经典的播放列表和曲目模型示例: class Track(models.Model): name = models.CharField(max_length = 50) mp3 = models.FileField(upload_to=”track/”) class Playlist(models.Model): name = models.CharField(max_length = 50) class PlaylistTrack(models.Model): playlist = models.ForeignKey(‘track.Playlist’) track = models.ForeignKey(‘track.Track’) position = models.IntegerField() #Here’s the crux of the problem 这是制作可订购播放列表的最佳方式吗? 我对此表示怀疑,但如果是这样,我如何获得有序的QuerySet ? (我将序列化为json,所以首选QuerySet ,但如果你有一个不同的,简单的制作json的方式,我很乐意听到它!) 这是我到目前为止所拥有的: playlist = Track.objects.filter(playlisttrack__playlist__exact=1) 但根据PlaylistTrack.position字段,这不会保留排序…… 谢谢!