Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 字段';id';应为一个数字,但得到';xyz';_Python_Html_Django_Django Models - Fatal编程技术网

Python 字段';id';应为一个数字,但得到';xyz';

Python 字段';id';应为一个数字,但得到';xyz';,python,html,django,django-models,Python,Html,Django,Django Models,在Models.py中 class Post(models.Model): user = models.CharField(max_length=100) likes = models.IntegerField(default=0) content = models.TextField() date = models.DateTimeField(auto_now_add=True) class Profile(models.Model): followi

在Models.py中

class Post(models.Model):
    user = models.CharField(max_length=100)
    likes = models.IntegerField(default=0)
    content = models.TextField()
    date = models.DateTimeField(auto_now_add=True)

class Profile(models.Model):
    following = models.ForeignKey('User',on_delete=models.CASCADE,related_name='following')
    user = models.ForeignKey('User',on_delete=models.CASCADE,related_name='user')
    
    def __str__(self):
        return self.user
def viewProfile(request,username):
    posts = Post.objects.filter(user=username).order_by('id').reverse()
    profile = Profile.objects.filter(user=username)
    no_of_followers = profile.following.count()
    return render(request, "network/profile.html",{
        "posts":posts,
        "username":username,
        "no_of_followers":no_of_followers
    })

在视图中.py

class Post(models.Model):
    user = models.CharField(max_length=100)
    likes = models.IntegerField(default=0)
    content = models.TextField()
    date = models.DateTimeField(auto_now_add=True)

class Profile(models.Model):
    following = models.ForeignKey('User',on_delete=models.CASCADE,related_name='following')
    user = models.ForeignKey('User',on_delete=models.CASCADE,related_name='user')
    
    def __str__(self):
        return self.user
def viewProfile(request,username):
    posts = Post.objects.filter(user=username).order_by('id').reverse()
    profile = Profile.objects.filter(user=username)
    no_of_followers = profile.following.count()
    return render(request, "network/profile.html",{
        "posts":posts,
        "username":username,
        "no_of_followers":no_of_followers
    })

在profile.html中

{% extends "network/layout.html" %}

{% block body %}
    <h2 style="margin-left: 20px;">Posts of {{username}}</h2>
    <div class="col-sm-6">
        <div class="card">
          <div class="card-body">
            <h5 class="card-title">Profile Details</h5>
            <p class="card-text">Followers:{{no_of_followers}}</p>
            <p class="card-text">Followings:0</p>
            
            <a href="#" class="btn btn-primary">Go somewhere</a>
            
        </div>
        </div>
      </div>
    {% for post in posts %}
        <div class="card" style="width:70%;margin-left: 10%;margin-right: 20%;">
            <div class="card-body">
                <a href="{% url 'viewprofile' post.user %}"><h5 class="card-title">{{post.user}}</h5></a>
                <div class="form-group">
                    <p>{{post.date}}<br>{{post.content}}</p>
                </div>
                <p>{{post.likes}}</p>
            </div>
        </div>
    {% endfor %}
{% endblock %}
{%extends“network/layout.html”%}
{%block body%}
{{username}的帖子
配置文件详细信息

追随者:{{no_of_Followers}

以下内容:0

{posts%%中的post为%s} {{post.date}
{{post.content}

{{post.likes}

{%endfor%} {%endblock%}
遇到错误,字段“id”需要一个数字,但得到了“xyz”。xyz是用户名

如果我将
profile=profile.objects.filter(user=username)
替换为
profile=profile.objects.filter(user\uu user=username)
,那么我将得到错误django.core.exceptions.FieldError:相关字段得到无效的查找:user查找应该是:

profile = Profile.objects.get(user__username=username)

非常感谢你…它成功了。。。很好的解释。我收到了,再次感谢你。