社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Django

Django错误:没有匹配查询

Hamza Lachi • 5 年前 • 1593 次点击  

如何修复此错误我正在尝试修复此错误,但一次又一次 我想检测填写表单的用户,例如test fill the form,但是当我在下面写下代码时,会得到这个错误

任何帮助都将不胜感激!

错误

user_register_model matching query does not exist.

错误屏幕截图

enter image description here

这是我的 视图.py

def buy_form(request):
    if request.method == 'POST':
        usr_buy = user_buy_form(request.POST)
        if usr_buy.is_valid():
            usr_buys = usr_buy.save(commit=False)
            user_register_obj = user_register_model.objects.get(user=request.user)
            usr_buys.users = user_register_obj
            usr_buys.save()
        else:
            return print(usr_buy.errors)

    else:
        usr_buy = user_buy_form()

    context = {'usr_buy':usr_buy}

    return render(request,'user_buy.html',context)  

这是我的 模型.py

class user_register_model(models.Model):
    user = models.OneToOneField(User,on_delete=models.CASCADE)
    join_date = models.DateTimeField(default=timezone.now)

    def __str__(self):
        return self.user.username

class user_buy(models.Model):
    users = models.ForeignKey(User,on_delete=models.CASCADE)
    title = models.CharField(max_length=200)
    payment_method = models.CharField(max_length=500)
    price = models.IntegerField()
    Trade_limits = models.IntegerField()
    Location = models.CharField(max_length=1000)

    def __str__(self):
        return self.users.user.username

这是我的 表单.py

class user_buy_form(forms.ModelForm):
    class Meta():
        model = user_buy
        fields = '__all__'
        exclude = ('users',)

这是我的 用户购买.html

{% extends 'base.html' %}
{% block body_block %}
<form class="form-control" method="POST">
    {% csrf_token %}
    {{usr_buy.as_p}}
    <input type="submit" class="btn btn-primary" value="Submit">
</form>
{% endblock %}
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/49668
 
1593 次点击  
文章 [ 2 ]  |  最新文章 5 年前
Anvesh
Reply   •   1 楼
Anvesh    5 年前

我认为Reavest.Upple不存在于UsRyReavestJuy模型模型中,这就是为什么它给出匹配查询不存在错误的原因,首先在UsReReavestBuy模型中创建它,然后查询它。

arjun
Reply   •   2 楼
arjun    5 年前

我看不出有什么地方可以创造 user_register_model 。如果要添加当前登录的用户,可以执行以下操作:

request.user 将为您提供当前登录的用户,因此为此用户必须登录。

    @login_required
    def buy_form(request):
    if request.method == 'POST':
        usr_buy = user_buy_form(request.POST)
        if usr_buy.is_valid():
            usr_buys = usr_buy.save(commit=False)
            usr_buys.users = request.user
            usr_buys.save()
            return redirect('some_path') # redirect to some path after saving the form 

类名通常应该使用CapWords约定。