带有 XMLField 的 Django 模型

Posted

技术标签:

【中文标题】带有 XMLField 的 Django 模型【英文标题】:Django model with XMLField 【发布时间】:2017-12-05 13:19:27 【问题描述】:

我是 python/django 的新手。

我正在使用 django 1.11、python 3.5.2 和 Oracle 11g r2

我想为oracle数据库中的TABLE1创建一个django模型

我的 TABLE1 有 4 个字段:

ID(类型:数字)

名称(类型:VARCHAR2)

姓氏(类型:VARCHAR2)

信息(类型:XMLTYPE)

这是xml字段的格式:

<?xml version = '1.0' encoding = 'UTF-8'?><extrainfo>
   <info>
      <movie>Titanic</movie>
      <sport>Tennis</sport>
   </info>
   <info>
      <movie>Troy</movie>
      <sport>Soccer</sport>
   </info>
</extrainfo>

我正在为 table1 创建一个 django 模型,但我不知道如何使用 django 读取 db 中的 xml 字段。

这是我的模特

class Table1(models.Model):
    id = models.IntegerField(primary_key=True)
    name = models.TextField(blank=True)
    lastname = models.TextField(blank=True)
    info = (I dont know what to write here to read the xmltype in db)

    class Meta:
        managed = False
        db_table = 'TABLE1' 

我该怎么办? 最好的方法是什么?

我需要获取 xmltype 信息。

请帮帮我,我卡住了。

谢谢。

【问题讨论】:

【参考方案1】:

你试过https://github.com/theatlantic/django-xml吗?我试过这个,但它似乎没有保存到数据库。此外,您可以将 TextField 用作 xml 的容器并使用 lxml 解析器。

【讨论】:

【参考方案2】:

github 上最新版本的 cx_Oracle (7.1.0.dev0) 可以在 django 中将 oracle xmltype 字段作为字符串加载。

【讨论】:

以上是关于带有 XMLField 的 Django 模型的主要内容,如果未能解决你的问题,请参考以下文章

Django get all,带有相关模型

带有自定义用户模型加载夹具错误的 Django 项目

带有模型 OneToOneField 的 django-jquery-file-upload

带有遗留数据库的 Django 模型 utf8

带有附加参数的 Django 自定义模型方法

如何在 Select 小部件中构造带有模型对象的 Django 表单?