Powiedzmy mam model stanowisk społecznościowy, użytkowników i lubi:Django kompozytowy unikatowe na wielu polach modelowych
class Post(models.Model):
submitter = models.ForeignKey(User, null=False, default=None)
content = models.CharField()
date = models.DateField()
with_likes = PostLikeCountManager()
objects = models.Manager()
class Like(models.Model):
user = models.ForeignKey(User)
post = models.ForeignKey(Post)
time = models.DateTimeField(auto_now_add=True)
To byłoby pomocne, aby myśleć o Post
modelu jako reprezentujący Facebook
post. Teraz chciałbym ograniczyć jeden podobny post na jednego użytkownika. Jak to osiągnąć? Jednym ze sposobów byłoby utworzenie złożonego klucza podstawowego w atrybutach (user
, post
) klasy Like
. Nie wiem, jak to osiągnąć w Django. Drugim byłoby użycie unique=True
na dwóch atrybutach jednocześnie. Czy to jest możliwe?
Dzięki.