小编use*_*841的帖子

对象不可迭代:过滤 QuerySet 以显示最新实例

我正在尝试使用 Django 在 QuerySet 中创建一个过滤器,该过滤器返回当前登录用户提交的最新实例。

到目前为止,我的 view.py 文件中有以下内容:

def transfer(request):

    title = 'Transfers'

    queryset = Transfer.objects.filter(user=request.user).latest('timestamp')

    context = {
        "title": title,
        "queryset": queryset,
    }

    if request.method == "POST":
        print request.POST

    return render(request, "transfer.html", context)
Run Code Online (Sandbox Code Playgroud)

但是这会返回错误

类型错误:“传输”对象不可迭代

到目前为止,我的 models.py 文件如下所示:

from django.db import models
from django.contrib.auth.models import User

class Transfer(models.Model):
    id = models.AutoField(primary_key=True)
    user = models.ForeignKey(User)
    amount = models.DecimalField(max_digits=10, decimal_places=2)
    timestamp = models.DateTimeField(auto_now_add=True, auto_now=False)
Run Code Online (Sandbox Code Playgroud)

我的 html 文件通过以下方式调用 QuerySet:

{% if request.user.is_authenticated %}
    <h2>Your Transfers</h2>
    {% if queryset %}
        {% for instance …
Run Code Online (Sandbox Code Playgroud)

python django model view django-queryset

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

Django:在表单提交时生成唯一的 8 字符字母数字 ID 字符串

有人可以帮我在模型中创建一个字段,以便在用户每次提交表单时生成唯一的 8 字符字母数字字符串(即 A########)ID 吗?

我的models.py表单目前如下:

from django.db import models
from django.contrib.auth.models import User

    class Transfer(models.Model):
        id = models.AutoField(primary_key=True)
        user = models.ForeignKey(User)
        timestamp = models.DateTimeField(auto_now_add=True, auto_now=False)
Run Code Online (Sandbox Code Playgroud)

我已经查看了 python 的 UUID 功能,但与我想要生成的标识符相比,这些标识符相当长且混乱。

任何帮助将不胜感激!

python forms django alphanumeric identifier

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