使django模型字段为只读

django-readonly-field的Python项目详细描述


https://badge.fury.io/py/django-readonly-field.pnghttps://travis-ci.org/peopledoc/django-readonly-field.png?branch=masterhttps://img.shields.io/codecov/c/github/peopledoc/django-readonly-field/master.svg

使django模型字段为只读。换言之,让Django 从数据库中的字段中读取,但不要尝试写入它们。可能是 如果您的字段由触发器或其他东西填充,则此选项非常有用。

要求

  • postgresql仅限
  • Django,很明显。v1.11+(除非另有证明)
  • 在Python2.7或3.5+下运行

文档

完整的文档位于https://django-readonly-field.readthedocs.org

快速启动

安装django只读字段:

pip install django-readonly-field

在您的settings.py

INSTALLED_APPS=[# ..."django_readonly_field",]

在希望某些字段为只读的模型中:

classSpaceship(models.Model):name=models.CharField(max_length=100)color=models.CharField(max_length=16)classReadonlyMeta:readonly=["color"]

就这样。现在,django不会尝试在数据库中写入color字段。

警告

Django不会写那些字段。结果是你的数据库 必须允许django不写入这些字段。他们也应该 可以为空,或者具有数据库默认值,或者由触发器填充,否则 你会得到一个IntegrityError

别忘了django模型字段默认值不会成为数据库默认值。 您可能需要为此编写一个sql迁移。

运行测试

您需要一个可用的postgresql数据库来测试项目。

source <YOURVIRTUALENV>/bin/activate
export DATABASE_URL=postgres://USER:PASSWORD@HOST:PORT/NAME
(myenv) $ pip install -r requirements_test.txt

为特定版本运行测试

(myenv) $ python runtests.py

对所有版本运行测试(如果tox是全局安装的,则不需要 虚拟环境)

$ tox

使用项目

许多操作都记录在makefile中。有关详细信息,请使用:

$ make help

学分

用于呈现此包的工具:

历史记录

1.0.5(2019-04-23)

  • 运行Django 2.2和Python3.5、3.6和3.7的测试

1.0.4(2018-12-17)

  • 放弃对Python3.4的支持
  • 确认对Python 3.7的支持
  • Django 1.8的跌落支架
  • Django 1.9的下降支撑
  • Django 1.10的跌落支架
  • 确认对Django 2.0的支持
  • 确认对Django 2.1的支持

1.0.3(2018-04-26)

  • python 3.6支持
  • 多个数据库支持
  • GitHub组织已更改为“PeopleDoc”

1.0.2(2017-09-22)

  • 为django 1.11添加了测试

1.0.1(2016-10-19)

  • 增加了对python 3.4和当前django stable的支持
  • 修复一个线程错误,该错误将使包仅可用于测试,而不可用于实际:/

1.0.0(2016-09-15)

  • 第一个稳定版本

0.2.0(2016-09-14)

  • 使只读(与只读)的书写合理化
  • 定义的默认应用程序配置

0.1.1(2016-09-13)

  • CI改进
  • 代码行

0.1.0(2016-09-02)

  • pypi上的第一个版本。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java从SVG中提取层   java通过蓝牙将文件从手机传输到其他手机   java如何使网络化JavaFX应用程序正确退出?   java Android Open GL不绘制正方形   java为什么使用泛型得到编译器警告?   多集群的Java Hazelcast问题   java OpenCV库配置正确,安卓应用程序可以正常运行一段时间,直到出现错误,表明不再加载该库   java字节好友通知中断Eclipse调试器   java JavaMail不会从发件人(Google除外)检索邮件   java使用MOXy将JsonObject属性映射到XML   java在FilteredTree中搜索“隐藏数据”   Javafx:用鼠标在ImageView上绘图   垃圾收集如何确定Java应用程序年轻gc的原因   java如何维护每个请求打开的Hibernate会话?   java gzip输入文件中的hadoop mapreduce   Java新手:Swing和显示ASCII文件   java RxJava异步订阅   java向editText添加搜索功能   java JavaFX TableViewTextField绑定