2021-10-11 ========== .. sectnum:: 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. Author tonen op detail pagina ----------------------------- Pas de detail-pagina aan zodat de auteur van de tweet 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 Likes: 22 Timestamp: Oct. 4, 2021, 8:36 a.m. Voeg nu een tweede gebruiker aan je site toe met behulp van de admin. Voeg vervolgens enkele tweets per gebruiker aan het systeem toe. Author tonen op list pagina --------------------------- Pas ook de lijstpagina aan zodat de auteur bij elke tweet getoond wordt. 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/ 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/', author_tweets), ] Surf nu naar http://localhost:8000/author/1 Je krijgt nu alle tweets te zien van user met ID 1. Lijst per author link --------------------- Pas nu 'tweet_list.html' aan zodat je als je op de auteursnaam klikt, je enkel de tweets van die persoon te zien krijgt.