[英]How to filter the objects related to foreign key model in django Views.py
我有这样的models.py:
class Subject(models.Model):
sub = models.CharField(max_length=200)
slug = models.SlugField(unique=True)
created_on = models.DateTimeField(auto_now_add=True)
class Post(models.Model):
sub = models.ForeignKey(Subject, on_delete=models.CASCADE)
file_name = models.CharField(max_length=50,blank=True)
url = models.CharField(max_length=800, unique=True)
网址.py
path('view/<subj>/', views.PostDetail, name='post_detail'),
视图.py
def PostDetail(request, subj):
content = Post.objects.get(sub=subj)
但是当我从 url 将 subj 作为 sig 传递时出现此错误,
invalid literal for int() with base 10: 'sig'
如何在 Post model 中获取与查询主题相关的所有对象,即“子”?
在你的urls.py
中给出 subj 类型,如果 subj 是 String 添加<str:***>
:
path('view/<str:subj>/', views.PostDetail, name='post_detail'),
视图.py:
def PostDetail(request, subj):
content = Post.objects.filter(sub__sub=subj)
使用过滤器搜索 Post.sub,因为 sub 是 ForeignKey,所以使用 sub__sub。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.