1 2021-10-11¶
1.1 Koppelen met de gebruikerstabel¶
Open tweet/models.py en voeg onderstaande code toe:
from django.contrib.auth.models import User
class Tweet(models.Model):
msg = models.CharField(max_length=128)
timestamp = models.DateTimeField(auto_now_add=True)
likes = models.PositiveIntegerField(default=0)
author = models.ForeignKey(User, on_delete=models.CASCADE, blank=True, null=True)
def __str__(self):
return self.msg
Maak migratiescripts en voer deze uit om de database aan te passen.
Het author-veld koppelt iedere individuele tweet met een gebruiker, zodat we nu meerdere gebruikers op onze twitter-variant kunnen onderscheiden.
1.4 Emailadres tonen op detail pagina¶
Pas de detail-pagina aan zodat ook het emailadres van de auteur op rij twee verschijnt:
Message: So Epic React launched a swag store, and it includes
the most adorable merch I've ever seen.
Author: Takis (takis.issaris@mosa-rt.be)
Likes: 22
Timestamp: Oct. 4, 2021, 8:36 a.
Je kan via “object.author” aan alle velden die je in de “User” class vindt op onderstaande pagina in de Django documentatie: https://docs.djangoproject.com/en/3.2/ref/contrib/auth/
1.5 Tweets van een auteur¶
Open tweet/views.py en voeg onderstaande code toe:
def author_tweets(request, pk):
tweets = Tweet.objects.filter(author__pk=pk)
return render(request, 'tweet/tweet_list.html', {'object_list': tweets})
Open twitter/urls.py en voeg onderstaande code toe:
from tweet.views import author_tweets
urlpatterns += [
# ...
path('author/<int:pk>', author_tweets),
]
Surf nu naar http://localhost:8000/author/1 Je krijgt nu alle tweets te zien van user met ID 1.