小编Byt*_*eme的帖子

Django:在视图中获取ImageField网址

我试图在Django视图中获取ImageField绝对路径,这样我就可以打开图像,在上面写一些东西,然后将其提供给用户.

我在获取保存在媒体文件夹中的图像的绝对路径时遇到问题.

item = get_object_or_404(Item, pk=pk)
absolute_url = settings.MEDIA_ROOT + str(item.image.path)
Run Code Online (Sandbox Code Playgroud)

我得到错误,item.image没有path(The 'banner' attribute has no file associated with it.).item.image是ImageField,我想知道如何获取图像字段中保存的图像的绝对路径(在Django视图中).

django view absolute-path imagefield

24
推荐指数
2
解决办法
5万
查看次数

在Django中一次更新所有模型

我试图在Django(python)中一次更新特定顺序的所有对象的位置字段.

这就是我现在的做法,但问题在于它会产生大量查询.

    servers = frontend_models.Server.objects.all().order_by('-vote_count')

    i = 1
    for server in servers:
        server.last_rank = i
        server.save()
        i += 1
Run Code Online (Sandbox Code Playgroud)

有没有办法更新

Model.objects.all().order_by('some_field').update(position=some_number_that_changes_for each_object)
Run Code Online (Sandbox Code Playgroud)

谢谢!

python sql django

13
推荐指数
1
解决办法
8265
查看次数

Django内联模型管理过滤器外部字段

我有以下问题.

我有3个型号:

class Deal(models.Model):
    name = models.CharField(max_length=80)

class Site(models.Model):
    name = models.CharField(max_length=80)
    deal = models.ForeignKey(Deal)

class Picture(models.Model):
    title = models.CharField(max_length=80)
    deal = models.ForeignKey(Deal)
    site = models.ForeignKey(Site)
Run Code Online (Sandbox Code Playgroud)

我想使用网站和图片内联管理模型进行交易管理:

class SiteInline(admin.StackedInline):
    model = Site
    extra = 1


class PictureInline(admin.StackedInline):
    model = Picture
    extra = 1


class DealAdmin(admin.ModelAdmin):
    inlines = [
        SiteInline,
        PictureInline,
    ]
Run Code Online (Sandbox Code Playgroud)

我想要做的是当我选择Site in Picture admin时它只显示我属于我正在查看的当前交易的网站(如果我正在更新 - 不创建新的).

我希望这个在管理员工作,我花了很多时间搜索网页,但找不到任何有用的东西,请帮忙!

我试图这样做,但我不知道如何访问父模型实例来获取交易ID:

def formfield_for_foreignkey(self, db_field, request=None, **kwargs):

    if db_field.name == 'site':
        kwargs['queryset'] = Site.objects.filter(deal__id=1)

    return super(PictureInline, self).formfield_for_foreignkey(db_field, request=None, **kwargs)
Run Code Online (Sandbox Code Playgroud)

django inline foreign-keys django-models django-admin

5
推荐指数
1
解决办法
4014
查看次数