https://www.jb51.net/article/186962.htm
select_related和prefetch_related
https://blog.csdn.net/weixin_42134789/article/details/100571539
数据迁移
Python2.7 + django1.11
这里我只是从这个电脑的sqlite3导出到另一台电脑的相同项目的sqlite3,没有跨不同的数据库来测试:
# 导出数据
# 不指定appname时,默认所有的app
python manage.py dumpdata [appname] > db.json # db.json这个名字自定义
# 导入数据
python manage.py loaddata db.json
判断字段的类型
有的时候,要根据字段的不同,来进行不同的操作,比如如何判断字段是ForeignKey类还是ManyToManyField类型?
from django.db.models import ForeignKey, ManyToManyField
# 然后就可以通过isinstance来判断了
if isinstance("表中要判断的字段", ForeignKey):
print("field_object types ForeignKey")
elif isinstance("表中要判断的字段", ManyToManyField):
print("field_object types ManyToManyField")
模型类中choices属性的处理
如果一个用户表中有性别选项,那么就可以在字段中指定一个choices属性,它对应一个元组套元组或者,列表套元组的数据结构。
class Author(models.Model):
user = models.CharField(max_length=32, verbose_name='用户名')
gender = models.IntegerField(choices=(
(1, "男"),
(2, "女"),
), default=1, verbose_name='性别')
def __str__(self):
return self.user
取值的话:
author_obj = Author.objects.first()
print(author_obj.gender) # 2
# 注意,只有字段中有choices参数时,才能get_gender_display
print(author_obj.get_gender_display()) # 女
参考:https://docs.djangoproject.com/zh-hans/4.0/ref/models/fields/
获取关联数据
https://github.com/jazzband/django-smart-selects/pull/218
欢迎斧正,that's all