Python 字段';id';应为一个数字,但得到';xyz';
在Models.py中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
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)
非常感谢你…它成功了。。。很好的解释。我收到了,再次感谢你。