Ich habe eine Django
App, wo Benutzer Kommentare für einander hinterlassen. Ich werde jetzt ein Foto-Feature hinzufügen. Ich brauche etwas Hilfe bei der Formulierung der Datenmodelle für diese Fotofunktion.Daten Modellierung Vorschläge für Django App
Unter dieser Funktion können Benutzer Fotos in einem gemeinsamen Bereich der Website hochladen, wo die genannten Fotos zuerst angezeigt werden. Das ist einfach genug, also lassen Sie uns jetzt zwei Komplikationen auf die Funktion hinzufügen:
1) Für jedes Foto Eintrag uploaders die Möglichkeit, einschließlich weitere Fotos haben (als Stream). Das erste Foto wird dann als Titelbild behandelt, das im gemeinsamen Bereich der Website angezeigt wird. Nach Durch Klicken auf diese Abdeckung wird der gesamte Stream sichtbar.
2) Für jeden Fotoeintrag kann jeder Betrachter mit einem Foto von seinem eigenen antworten. Wenn das passiert, werden die beiden Fotos zusammen als Stream, mit der Antwort als Cover-Foto behandelt, im gemeinsamen Bereich der Website erscheinen. Ein Klick auf dieses Titelbild zeigt nacheinander beide Einträge an und zeigt so den Benutzern was das Originalfoto war und was die Antwort darauf war.
Wie sollte ich die obigen Anforderungen modellieren? Ich kann meinen Kopf damit nicht umschließen. Etwas wie:
class PhotoReply(models.Model):
owner = models.ForeignKey(User)
which_photo = models.ForeignKey(Photo)
class Photo(models.Model):
owner = models.ForeignKey(User)
is_stream = models.BooleanField(default=False)
image = models.ForeignKey(upload_to=upload_photo_to_location, storage=OverwriteStorage())
upload_time = models.DateTimeField(db_index=True, auto_now_add=True)
stream_id = models.IntegerField(default=0)
is_reply = models.BooleanField(default=False)
reply = models.ForeignKey(PhotoReply, blank=True, null=True)
Aber es gibt offensichtliche Schwäche, Inkonsistenzen in diesem. Bitte beraten.
Sieht ungefähr richtig aus. Ich werde es versuchen und zu dir zurückkommen. –