Django学习笔记三(Model 实例方法)

django-Model 实例方法

1.create
# 创建对象不会触及数据库,需要save()
# 自定义模型有两种方法,第一种的使用@classmethod
# 第二种是(建议使用) ‘在自定义管理器上添加方法’
class BookManager(models.Manager):
	def create_book(self, title):
		book = self.create(title=title)
		return book

class Book(models.Model):
    title = models.CharField(max_length=100)
    objects = BookManager()

Book.objects.create_book('Hello World')
2. add
# 将指定的模型对象添加到相关的对象集。
b = blog.objects.get(id=1)
e = Entry.objects.get(id=234)
b.entey_set.add(a)

# add将执行update()来进行更新,这要求对象这此之前已经使用save()保存,add还支持关键字段做为参数,如上面可改写成:
b.enrty_set.add(234)
3. __str__()

只要定义了,无论合适调用模型的 str() 对象,都会调用该方法,如:

from django.db import models

class Person(models.Model):
	first_name = models.CharField(max_length=50)
	last_name = models.CharField(max_length=50)
	
	def __str__(self):
        return f'{self.first_name} {last_name}'
4. get_absolute_url()

定义一个 get_absolute_url() 方法来告诉 Django 如何计算对象的规范 URL 。 对应调用者,此方法放回一个字符串,该字符串可用于通过 HTTP 引用对象。如:

from django.urls import reverse
def get_absolute_url(self):
	return reverse('people.views.details', ages=[str(self.id)])
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值