小编szu*_*ins的帖子

在 Django 模型中存储对象列表

在 Django 中有没有办法在另一个对象中存储和管理多个对象(在 Django admin 中)?

例如,我有两个模型:Items 和 RMA。RMA 内部可能有多个项目。每个 Item 都是独一无二的,因为它是一个库存部件,所以我不能只用 foreignKey 多次引用同一个项目(尽管我可能误解了它的使用/实现)。

所以现在,我有一个 Item 模型:

class Item(models.Model):
    serial_number = models.CharField(max_length=200)
    name = models.CharField(max_length=200)
    part_number = models.CharField(max_length=200)
    location = models.CharField(max_length=200)
    def __unicode__(self):
        return self.name
Run Code Online (Sandbox Code Playgroud)

和 RMA 模型:

class RMA(models.Model):
    number = models.AutoField(primary_key=True)
    items = ?????
Run Code Online (Sandbox Code Playgroud)

最终,我希望能够在必要时继续使用 Django 管理功能从 RMA 添加/删除项目,因此我一直避免序列化列表然后反序列化显示。任何帮助将非常感激。

python django

7
推荐指数
2
解决办法
1万
查看次数

Perl Data :: Dumper在数组内散列?

我有一个程序,使用解析一些XML XML::Simple.它似乎在某些时候XML中有冗余的条目被序列化,但我不能在我的生活中弄清楚如何将这些数据作为一个简单的字符串返回.这个XML的一个子集似乎被放入一个数组中XML::Simple.运行Dumper($data)数据是我解析的XML 时,相关小节如下.

Audio = [
      {
        'AudioIndex' => {
                        'StartByteOffset' => '32768',
                        'DataSize' => '3071872'
                      },
        'SamplingRate' => '48000',
        'BitsPerSample' => '16',
        'AudioFormat' => 'MXF'
      },
      {
        'AudioIndex' => {
                        'StartByteOffset' => '32768',
                        'DataSize' => '3071872'
                      },
        'SamplingRate' => '48000',
        'BitsPerSample' => '16',
        'AudioFormat' => 'MXF'
      },
      {
        'AudioIndex' => {
                        'StartByteOffset' => '32768',
                        'DataSize' => '3071872'
                      },
        'SamplingRate' => '48000',
        'BitsPerSample' => '16',
        'AudioFormat' => 'MXF'
      },
      {
        'AudioIndex' => {
                        'StartByteOffset' => …
Run Code Online (Sandbox Code Playgroud)

arrays perl hash data-dumper

3
推荐指数
1
解决办法
1464
查看次数

使用 Beautiful Soup 创建名为“name”的属性的 new_tag

我有一个 XML 块,我需要在其中插入一些元素

<importer in="!SRCFILE!" media="movie">
<video-out id="video_2_importer"></video-out>
<audio-out id="audio_2_importer"></audio-out>
</importer>
Run Code Online (Sandbox Code Playgroud)

我需要做的是在这个块中插入一些选项,所以我的输出看起来像这样:

<importer media="movie" in="!SRCFILE!">
    <video-out id="video_2_importer"></video-out>
    <audio-out id="audio_2_importer"></audio-out>
    <option name="start-time" value="60"></option>
    <option name="end-time" value="120"></option>
</importer>
Run Code Online (Sandbox Code Playgroud)

我已经成功地使用 bs4 来查找元素并创建新标签,但似乎参数 'name' 是 bs4 中的保留字。我尝试了以下方法:

in_point = soup.new_tag('option', **{'value':'60','name':'start-time'})
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误

TypeError: new_tag() got multiple values for keyword argument 'name'
Run Code Online (Sandbox Code Playgroud)

如果我从我的字典中删除 'name':'start-time',它会正确插入。如果我将“名称”更改为任何其他文本,它就会起作用。因此,执行以下操作会导致正确的标记创建。

in_point = soup.new_tag('option', **{'value':'60','stuff':'start-time'})
Run Code Online (Sandbox Code Playgroud)

我知道我可能在语法上做错了一些事情来绕过允许我使用属性“名称”,我只是不知道是什么。

python beautifulsoup

3
推荐指数
1
解决办法
2293
查看次数

标签 统计

python ×2

arrays ×1

beautifulsoup ×1

data-dumper ×1

django ×1

hash ×1

perl ×1