链接到几个指定模型之一的django foreignkey

django-multiforeignke的Python项目详细描述


django多重点火键

Django ForeignKey,链接到几个指定型号中的一个:

classComment(models.Model):user=models.ForeignKey(User)text=models.TextField()# users may leave comments for blog posts, articles or votingsobject=MultiForeignKey(Post,Article,Voting)

与^ {TT1}$不同,该字段使用本机数据库外键,并提供最大速度和可靠性。

警告

这是一个初步的alpha版本,很可能没有完全按照广告的那样工作。我不得不在未完成的情况下发布它,因为我必须在我的项目中使用它。

安装

pip install django-multiforeignkey

用法

multiforeignkey添加到INSTALLED_APPS

# settings.pyINSTALLED_APPS=[...'multiforeignkey',]

在模型中添加一个字段:

# comments/models.pyfrommultiforeignkey.modelsimportMultiForeignKeyclassComment(models.Model):user=models.ForeignKey(User)text=models.TextField()# users may leave comments for blog posts, articles or votingsobject=MultiForeignKey(Post,Article,Voting)

创建相应的数据库表:

./manage.py makemigrations && ./manage.py migrate

将新字段用作真正的数据库字段:

comment=Comment.objects.filter(object=post)assertcomment.objectispostcomment.object=votingassertcomment.objectisvotingcomment.save()

或使用特定子字段:

comment=Comment.objects.filter(post=post)assertcomment.postispostassertcomment.articleisNoneassertcomment.votingisNonecomment.voting=votingassertcomment.postisNoneassertcomment.articleisNoneassertcomment.votingisvotingcomment.save()

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

推荐PyPI第三方库


热门话题
java在安卓中创建JSONObject   java如何将字符串转换为泛型类型对象   java不使用get/set访问私有属性   在Spring+Maven配置下运行项目的java问题   java如何启动Jetty并以独立于平台的方式打开浏览器   java For带数组的循环   java将JSR303验证错误转换为Spring的BindingResult   在Windows上安装Java 11 OpenJDK(系统路径问题)   java使用POST将参数从JSP发送到Servlet   java什么是静态变量   java无法将项目提取为可运行的Jar   java修改REST API响应以仅包括查询参数中请求的字段   java如何实现基于密钥的CSV处理工厂设计模式   javascript js。executeScript失败,出现意外的标识符错误   java我想将存储在数据库中的文件名保存到jTable中