Ich bekomme den folgenden Fehler beim Versuch, auf einem QuerySet
Benutzer Beiträge zu filtern, mit einem ForeignKey
Autor. Django hat Problem mit der folgenden Zeile:Django Python: ungültiges Literal für int() mit Basis 10: 'arcetina'
posts = Post.objects.filter(author=components[0])
Und diesen Fehler spuckt:
invalid literal for int() with base 10: 'arcetina'
Hier ist meine views.py
:
def post_list(request):
global posts
context = {'posts' : posts}
for post in posts:
if not post.field:
post.field = 'Unspecified'
if request.method == "POST":
searchRegex = request.POST.get("searchregex")
components = searchRegex.split()
if searchRegex == "-reversedate":
posts = posts.reverse()
context = {'posts' : posts}
if "-user" in searchRegex:
posts = Post.objects.filter(author=components[0])
return render(request, 'webapp/threadfeed.html', context)
Und hier ist mein models.py
:
class Post(models.Model):
title = models.CharField(max_length=150)
slug = models.SlugField()
text = models.TextField()
created_on = models.DateTimeField(auto_now_add=True)
up_vote = 0 # num of up votes
down_vote = 0 #num of down votes
vote_total = up_vote - down_vote
author = models.ForeignKey('auth.User', null=True, blank=True)
CHOICES = [
('Hardware and OS', 'Hardware and OS'),
('Desktops', 'Desktops'),
('Tablets', 'Tablets'),
('Phones', 'Phones'),
('Wearables', 'Wearables'),
('Windows', 'Windows'),
('Mac OS X', 'Mac OS X'),
('Linux and Unix', 'Linux and Unix'),
('Programming and Computer Science', 'Programming and Computer Science'),
('Software Development', 'Software Development'),
('Web Development (Front)', 'Web Development (Front)'),
('Web Development (Back)', 'Web Development (Back)'),
('Mobile Development', 'Mobile Development'),
('Game Development', 'Game Development'),
('Algorithms and Data Structures', 'Algorithms and Data Structures'),
('Databases', 'Databases'),
('IDE/Text Editors', 'IDE/Text Editors'),
('Tutorial', 'Tutorial'),
('Opinion', 'Opinion'),
('Miscellaneous', 'Miscellaneous')
]
field = models.CharField(choices=CHOICES, max_length=200, default='Unspecified')
def __unicode__(self):
return self.title.encode('utf-8')
@models.permalink
def get_absolute_url(self):
return ('blog_post_detail',(),
{
'slug' :self.slug,
})
def save(self, *args, **kwargs):
if not self.slug:
self.slug = slugify(self.title)
super(Post, self).save(*args, **kwargs)