zoukankan      html  css  js  c++  java
  • models.py相关API

    models.py

    import datetime
    from django.db import models
    from django.utils import timezone
    
    class Question(models.Model):
        def __str__(self):
            return self.question_text
    
        def was_published_recently(self):
            return self.pub_date >= timezone.now() - datetime.timedelta(days=1)
    
        question_text = models.CharField(max_length=200)
        pub_date = models.DateTimeField('date published')
    
    
    class Choice(models.Model):
        def __str__(self):
            return self.choice_text
        question = models.ForeignKey(Question, on_delete=models.CASCADE)
        choice_text = models.CharField(max_length=200)
        votes = models.IntegerField(default=0)

    python shell

    from polls.models import Choice, Question
    from django.utils import timezone
    
    q = Question(question_text="What's new?", pub_date=timezone.now())
    q.save()
    
    q.id #输出:1
    q.question_text #输出:What's new?
    q.pub_date #输出:datetime.datetime(2012, 2, 26, 13, 0, 0, 775217, tzinfo=<UTC>)
    
    q.question_text = "What's up?"
    q.save()
    
    Question.objects.all()  #输出:<QuerySet [<Question: What's up?>]>
    Question.objects.filter(id=1) #输出:<QuerySet [<Question: What's up?>]>
    Question.objects.filter(question_text__startswith = 'What') #输出:<QuerySet [<Question: What's up?>]>
    
    Question.objects.get(pub_date__year = timezone.now().year) #输出:<Question: What's up?>
    Question.objects.get(id=2)   #输出:报错,因为只有1条记录
    Question.objects.get(pk=1)   #输出:<Question: What's up?>
    q = Question.objects.get(pk=1)
    q.was_published_recently()   #输出:True
    
    q = Question.objects.get(pk=1)
    q.choice_set.all()  #输出:<QuerySet []>
    
    q.choice_set.create(choice_text='Not much', votes=0)  #输出:<Choice: Not much>
    q.choice_set.create(choice_text='The sky', votes=0)  #输出:<Choice: The sky>
    c = q.choice_set.create(choice_text='Just hacking again', votes=0)
    c.question   #输出:<Question: What's up?>
    q.choice_set.all()
    #输出:<QuerySet [<Choice: Not much>, <Choice: The sky>, <Choice: Just hacking again>]>
    q.choice_set.count() #输出:3
    
    
    Choice.objects.filter(question__pub_date__year=current_year)
    #输出:<QuerySet [<Choice: Not much>, <Choice: The sky>, <Choice: Just hacking again>]>
    
    c = q.choice_set.filter(choice_text__startswith='Just hacking')
    c.delete()  #删除该记录
  • 相关阅读:
    Android studio 中国的垃圾问题解决
    实现一个简单的boot
    代理下载android4.4源代码
    《程序员在第一季度追姐姐的书》——提升自己的形象气质
    第46周四
    Spring单例与线程安全小结
    2014第46周二
    第46周一
    第45周日
    第45周六
  • 原文地址:https://www.cnblogs.com/shiliye/p/11649542.html
Copyright © 2011-2022 走看看