小编rig*_*old的帖子

SqlAlchemy 与特定列的关系

假设我有一个像这样的 SqlAlchemy 模型:

from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, String, Integer, ForeignKey
from sqlalchemy.orm import sessionmaker, relationship
Base = declarative_base()
Session = sessionmaker()

class EmployeeType(Base):
    __tablename__ = 'employee_type'
    id = Column(Integer(), primary_key=True)
    name = Column(String(20))

class Employee(Base):
    __tablename__ = 'employee'
    id = Column(Integer(), primary_key=True)
    type_id = Column(Integer(), ForeignKey(EmployeeType.id))
    type = relationship(EmployeeType, uselist=False)

session = Session()
session.add(EmployeeType(name='drone'))
session.add(EmployeeType(name='PHB'))
Run Code Online (Sandbox Code Playgroud)

为了方便起见,我希望从 Employee 直接与 EmployeeType.name 建立某种“关系”,因此如果我有类型名称,我可以跳过查找 id 或 EmployeeType 对象的步骤:

emp = Employee()
emp.type_name = "drone"
session.add(emp)
session.commit()
assert (emp.type.id == 1) …
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy foreign-key-relationship

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

iframe contentDocument和contentWindow为null

我试图在以下代码中访问iframe的contentDocument和contentWindow.但他们都是空的.

    var iframe = document.createElement('iframe');
    this.get__domElement$i().appendChild(iframe);
    if (iframe.contentDocument) {
         iframe.contentDocument.write("Hello");
     }
    else if (iframe.contentWindow) {
         iframe.contentWindow.document.body.innerHTML = "Hello";
     }
Run Code Online (Sandbox Code Playgroud)

有人能告诉我这有什么不对吗?谢谢

当我做Document.Body.AppendChild(iframe)时,contentDocument和contentWindow都是非null.

当我将iframe附加到div时,有人能告诉我什么是错的吗?

非常感谢.

javascript iframe

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

如何将 BQL Bloomberg excel 公式实现到 python API (blpapi)?

有没有办法使用python API甚至任何语言的API来实现BQL?

bloomberg blpapi

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

为什么data()和c_str()返回char const*,而operator []返回char&?

为什么std::string::datastd::string::c_str()返回指针const的字符,而std::string::operator[]返回引用可变字符?

std::string string("eightfold is the greatest");

auto s = string.data();
*s = 'r'; // illegal

auto t = &string[0];
*t = 'r'; // totally fine

auto& c = string[0];
c = 'r'; // totally fine
Run Code Online (Sandbox Code Playgroud)

为什么不std::string::data()std::string::c_str()返回char*,或者为什么不std::string::operator[]char const&

这背后的理由是什么?

c++ string const

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

是否可以创建一个可以用作T [A,B]的泛型类型T [A <:C [U],B <:C [U],U]?

我有以下案例类:

case class <*>[Q <: Quantity[T], R <: Quantity[T], T](value: T) 
  extends Quantity[T]
Run Code Online (Sandbox Code Playgroud)

我想这样使用它:

type Area[T] = Length[T] <*> Length[T]
Run Code Online (Sandbox Code Playgroud)

但是,我得到一个错误,说<*>预期有三个参数,我只给了两个.我希望它能像这样工作:

type Area[T] = <*>[Length[T], Length[T], T]
Run Code Online (Sandbox Code Playgroud)

我尝试了以下但它给了我一个错误:

trait Quantity[T] {
  type Value = T

  def value: T
}

case class <*>[Q <: Quantity[_],
               R <: Quantity[_]](value: Q#Value)
                                (implicit eq: Q#Value =:= R#Value)
  extends Quantity[Q#Value]
Run Code Online (Sandbox Code Playgroud)

错误:(13,110)非法继承;
selftype <*>[Q,R]不符合Quantity[_$1]的selftypeQuantity[_$1]

case class <*>[Q <: Quantity[_],
               R <: Quantity[_]](value: Q#Value)
                                (implicit eq: Q#Value =:= R#Value)
  extends Quantity[Q#Value] …
Run Code Online (Sandbox Code Playgroud)

generics scala

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

具有更高意义的简单类型(C++ 11)

我经常遇到这种情况(在我的C++/C++ 11代码中),其中我的类型基本上像内置类型(或类似的"基本简单"类型std::string),但其含义超过32位号或一堆字符.我没有在互联网上找到任何有用的东西,因为我真的没有什么条件可以搜索...

例子:

  • 我曾经在一个系统上工作,其中的项目是通过ID识别的.这些ID是std::strings(首先可能不是最好的主意,但这是一个不同的故事).但真正糟糕的是,这些ID以std::strings或const char*s的形式通过系统传递.因此,在搜索类型时,很难(不可能)判断代码库ID中的位置.变量名称是ID(ID,id,Id)或密钥的全部变体,或者只是i或名称或其他.所以你也不能按名字搜索.所以我更愿意将这些变量作为类型传递id_t.
  • 网络端口:它们是uint16_ts.但我想把它们作为network_port_ts 传递给我们.

我通常使用typedef使事情变得更好.这种方法有许多问题:

  • 您不必使用typedef.您仍然可以通过"原始"类型传递变量(例如,std::string而不是id_t).
  • 如果原始类型是模板,则完成前向声明typedef(例如,使用shared_ptr).
  • "转发声明"typedef是一个维护问题.如果原始类型发生变化,您可以在整个地方更改内容.

我尝试使用网络端口示例的另一件事是编写一个瘦的包装类运动operator uint16_t.这解决了前向声明的问题.但后来我遇到了一些陷阱,其中包含一些内部使用printf的日志记录宏.printfs仍然工作(好,编译),但没有打印端口号,但(我认为)对象的地址.

我认为尺寸像重量或长度Boost.Units可能值得一看(即使它看起来有点"沉重").但是对于上面的两个例子,它并不合适.

实现我想要的最佳实践是什么(使用Boost是一种选择)?

简而言之: 我想要实现的是将"具有更高意义的类型"作为自己的类型而不是普通的原始/低级/非抽象类型.(有点像)具有用户定义的类型.优选地,没有为具有基本相同的实现的每种类型编写完整类的巨大开销,仅仅能够执行已经可以执行的内置操作.

c++ boost c++11

5
推荐指数
2
解决办法
742
查看次数

如何制作IntelliJ折叠变量类型?

习惯于提供类型推断的语言(C++,Scala),我发现这样的代码难以阅读:

ClassWriter classWriter = new ClassWriter(0);
Run Code Online (Sandbox Code Playgroud)

因为类型重复.有没有办法让IntelliJ折叠变量的类型,以便我可以像这样读写它:

var classWriter = new ClassWriter(0);
Run Code Online (Sandbox Code Playgroud)

但它实际上将它存储在磁盘上ClassWriter classWriter = new ClassWriter(0);

java intellij-idea

5
推荐指数
2
解决办法
308
查看次数

如何在Lua中返回语句后放置标签?

以下结果导致第三行语法错误:

function f()
    return
    ::x::   
end
Run Code Online (Sandbox Code Playgroud)

为什么返回声明后不可能有标签?

lua goto return

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

CALL语句中BY CONTENT和BY VALUE有什么区别?

COBOL 中的语句BY CONTENT和语句之间有什么区别?BY VALUECALL

cobol calling-convention

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

是否存在与指针具有相同大小和对齐的整数类型?

是否存在与指针具有相同大小和对齐的整数类型?

std::intptr_tstd::uintptr_t,但我相信它们没有与指针本身相同的对齐方式.

c++ types memory-layout

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