小编Du *_* D.的帖子

审核触发器,将Blob插入为LongText

我正在尝试创建一个审计触发器,将blob数据作为longtext数据类型插入.

当我使用select时,我会看到图像的内容,但是当我使用相同的格式插入时,它会显示为空白.

Works:数据显示图像的原始内容

select cast(my_image as char) as data from MyTable
Run Code Online (Sandbox Code Playgroud)

不起作用:数据列显示为空白(0byte)

insert into MyAuditTable (data) values ( cast(NEW.my_image as char) )
Run Code Online (Sandbox Code Playgroud)

更新:9月12日 我试图通过一个函数希望通过显式指定类型然后它将采取,但没有运气那里

CREATE FUNCTION `BLOB2TXT`(dablob LONGBLOB) RETURNS LONGTEXT 
    NO SQL
    DETERMINISTIC
BEGIN
       RETURN CAST(dablob AS CHAR CHARACTER SET utf8); 
END
Run Code Online (Sandbox Code Playgroud)

我在github上发布我的项目,如果有人想看看或想要使用我拥有的.随时欢迎你 :)

https://github.com/hotmit/mysql-sp-audit

现在唯一给我一些希望的是Hex(blob),但是当我UNHEX()时,数据是不可读的.

mysql sql triggers

6
推荐指数
1
解决办法
355
查看次数

如何过滤多对多字段的模型?

我正在尝试为一队卡车实施地理围栏.我必须将边界列表与车辆相关联.除此之外,其中一个要求是,为了审计目的,删除所有内容甚至一旦删除.因此,我们必须对所有内容实施软删除.这就是问题所在.我的多对多字段不符合软删除管理器,它包括查找数据集中的活动和非活动记录.

class Vehicle(SoftDeleteModel):
    routes = models.ManyToManyField('RouteBoundary', through='VehicleBoundaryMap', verbose_name=_('routes'),
                                    limit_choices_to={'active': True})


class VehicleBoundaryMap(SoftDeleteModel):
    vehicle = models.ForeignKey(Vehicle, verbose_name="vehicle")
    route_boundary = models.ForeignKey(RouteBoundary, verbose_name="route boundary")
    # ... more stuff here

    alive = SoftDeleteManager()


class SoftDeleteManager(models.Manager):

    use_for_related_fields = True

    def get_queryset(self):
        return SoftDeleteQuerySet(self.model).filter(active=True)
Run Code Online (Sandbox Code Playgroud)

如上所示,我试图确保默认管理器是一个软删除管理器(即仅用于活动记录的过滤器),并尝试使用limit limit_choices_to但结果只是对外部模型进行了字段而不是我想要的"直通"模型.如果您有任何建议或建议,我很乐意听取您的意见.

谢谢!

python django many-to-many model

6
推荐指数
1
解决办法
658
查看次数

泛型显式转换

我实现了从字符串到对象的显式转换,称为Foo.

所以=> Foo f =(Foo)"foo data"; 作品

我需要实现一个将字符串强制转换为泛型T的函数,在这种情况下,T是Foo数据类型.

public T Get<T>(object o){
      // this always return false
      if (typeof(T).IsAssignableFrom(typeof(String)))
      {
            // when i by pass the if above this throws invalid cast exception
            return (T)(object)str;
      }
      return null; 
}

// When I call this, it generated an error
// Invalid cast from 'System.String' to Foo
Foo myObj = Get<Foo>("another foo object"); 

// when I use the dynamic keyword it works but this is C# 4.0+ feature, my function is in …
Run Code Online (Sandbox Code Playgroud)

c# generics casting

5
推荐指数
1
解决办法
3380
查看次数

将bool值转换为json.dumps()中的字符串

我正在尝试将python dict转换为json,但是我正在访问的API不使用bool值而是使用"true"/"false"字符串.

例:

dct = { "is_open": True }
json.dumps(dct)
Run Code Online (Sandbox Code Playgroud)

目前给出一个bool输出: { "is_open": true }

但我想要的是小写字符串输出: { "is_open": "true" }

我试过json.dumps(dct, cls=MyEncoder)但它不起作用,只有非本机对象传递给MyEncoder默认.

class MyEncoder(json.JSONEncoder):
        def default(self, o):
            if isinstance(o, bool):
                return str(o).lower()
            return super(MyEncoder, self).default(o)
Run Code Online (Sandbox Code Playgroud)

任何帮助都会很棒.

(顺便说一下,这不是我正在访问的API,因此我无法修改API以访问真正的false值而不是字符串替代.)

python json boolean

4
推荐指数
1
解决办法
6258
查看次数

如何使用 geodjango 扩展或缩小多边形?

我使用 gis 多边形字段得到了一个带有字段的模型。

boundary = models.PolygonField()
Run Code Online (Sandbox Code Playgroud)

作为要求,我需要允许用户提供偏移/公差值。如何在不自己计算的情况下扩展或缩小此多边形?

谢谢!

django polygon geodjango

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

标签 统计

django ×2

python ×2

boolean ×1

c# ×1

casting ×1

generics ×1

geodjango ×1

json ×1

many-to-many ×1

model ×1

mysql ×1

polygon ×1

sql ×1

triggers ×1