2017-09-15 1 views
0

Ich mache diese App in Django, wo auf einer bestimmten HTML-Vorlage, wenn der Benutzer eine bestimmte Antwort auswählt, klicken Sie auf das Datum und die Uhrzeit, zu der der Benutzer dieses bestimmte klickte Antwort ist in meiner Datenbank gespeichert.Speichern von Datum und Uhrzeit der Benutzeraktion in Django-Modellfeld

Teil models.py

class userresp(models.Model): 
    rid=models.Integerfield(unique=True,default=0) 
    uid=models.Foreignkey(user,to_field='uid',on_delete=models.CASCADE) 
resp=models.ForeignKey(elementsound,to_field='csid',on_delete=models.CASCADE) 
    date=models.DateTimeField() 
    time=models.DateTimeField() 

so wie lagere ich das? und was sind die zusätzlichen Parameter im DateTimeField von beiden?

Antwort

0

Sie können das, was Sie benötigen, in einer Ansicht durch Überschreiben der post() -Methode erledigen.

Um die Reaktionszeit des Benutzers zu speichern, können Sie djangos eingebautes Zeitzonenmodul verwenden. Sie müssen also genau das tun:

from django.utils import timezone 

    date_and_time = timezone.now() 

timezone.now() das Systemdatum und die Uhrzeit des Servers zurückgibt. Und übrigens, Sie brauchen nicht zwei 'DateTimeField' s, um das Datum und die Uhrzeit zu speichern. Eins ist genug, es kann sowohl das Datum als auch die Uhrzeit speichern.

Andernfalls können Sie nur das aktuelle Datum und die Uhrzeit zum Zeitpunkt der Erstellung des Userresp-Objekts abrufen.

class userresp(models.Model): 
    rid=models.Integerfield(unique=True,default=0) 
    uid=models.Foreignkey(user,to_field='uid',on_delete=models.CASCADE) 
    resp=models.ForeignKey(elementsound, 
          to_field='csid', 
          on_delete=models.CASCADE) 
    date_and_time=models.DateTimeField(auto_now_add=True) 
+0

ist es so: date_and_time = models.DateTimeField (default = timezone.now()) oder nur date_and_time = timezone.now() in Modell – Shefali

+0

Ja, Sie haben Recht. Ich habe nur gezeigt, wie man das aktuelle Datum und die Uhrzeit oben erhält. 'date_and_time = models.DateTimeField (auto_now_add = True)' ist genug, um Datum und Uhrzeit automatisch im Feld zu speichern. Ich werde meine Antwort aktualisieren –