class Book(models.Model): title = models.CharField(max_length=100) author = models.ForeignKey(Author, on_delete=models.CASCADE) pub_date = models.DateField() class Author(models.Model): name = models.CharField(max_length=50) country = models.CharField(max_length=50) birth_date = models.DateField() # 创建Book对象示例 author = Author.objects.get(id=1) book = Book(title='Learning Django', author=author, pub_date='2022-01-01') book.save() # 查询Book对象示例 books = Book.objects.filter(author__country='China') for book in books: print(book.title) # 更新Book对象示例 book = Book.objects.get(id=1) book.title = 'Advanced Django Development' book.save() # 删除Book对象示例 book = Book.objects.get(id=1) book.delete()
Django中的模型字段是用于定义数据库表的属性,它们与数据库中的列相对应。在ORM中,每个模型字段都有特定的数据类型,如CharField、ForeignKey等。通过使用模型字段,我们可以轻松地与数据库进行交互。
在上述代码中,我们创建了两个模型:Book和Author。Book模型中包含了title、author和pub_date等字段,其中author字段是一个外键,关联到Author模型。Author模型中包含了name、country和birth_date等字段。通过定义模型字段,我们可以灵活地处理数据库的增删改查操作。
在创建Book对象示例中,我们首先使用Author.objects.get(id=1)查询到一个Author对象,然后通过指定各个字段的值来创建一个Book对象,最后调用save()方法保存到数据库中。
在查询Book对象示例中,我们使用filter()方法查询author__country为'China'的Book对象并遍历打印每个Book对象的标题。
在更新Book对象示例中,我们首先使用get()方法获取id为1的Book对象,然后直接修改其title字段的值,并调用save()方法保存到数据库中。
在删除Book对象示例中,我们同样使用get()方法获取id为1的Book对象,然后调用delete()方法从数据库中删除该对象。
Django中的模型字段和ORM映射提供了一种便捷的方式来操作数据库,使得开发人员可以更加高效地处理数据相关的任务。