Qt QDGO外键
快速谷歌搜索没有返回关于如何正确使用QDjango外键的结果-有一些功能Qt QDGO外键,qt,orm,foreign-keys,Qt,Orm,Foreign Keys,快速谷歌搜索没有返回关于如何正确使用QDjango外键的结果-有一些功能 QDjangoModel::foreignKey和QDjangoModel::setForeignKey-但我找不到任何关于如何在实践中使用它们的好例子。它很古老,可能会帮助其他人。。我在QDjango中搜索了很久,在中找到了一些东西,还有一些基本示例(但没有FK示例) 我使用QDjango以这种方式创建表模型(也是外键): 您可以使用Q_CLASSINFO为列设置一些属性。 外键在构造函数中绑定并在角色函数中填充 Use
QDjangoModel::foreignKey
和QDjangoModel::setForeignKey
-但我找不到任何关于如何在实践中使用它们的好例子。它很古老,可能会帮助其他人。。我在QDjango中搜索了很久,在中找到了一些东西,还有一些基本示例(但没有FK示例)
我使用QDjango以这种方式创建表模型(也是外键):
您可以使用Q_CLASSINFO为列设置一些属性。
外键在构造函数中绑定并在角色函数中填充
User::User(QObject *parent)
: QDjangoModel(parent)
{
setForeignKey("role", new Role(this));
}
Role *User::role() const
{
return qobject_cast<Role *>(foreignKey("role"));
}
void User::setRole(Role *role)
{
setForeignKey("role", role);
}
User::User(QObject*parent)
:qdjangmodel(父级)
{
setForeignKey(“角色”,新角色(本));
}
角色*用户::角色()常量
{
返回qobject_cast(外键(“角色”);
}
void User::setRole(Role*Role)
{
setForeignKey(“角色”,角色);
}
当您想从fk依赖表中选择using字段时,请使用两个Undescore,当然还可以使用selectRelated()(它只是设置了一些标志,稍后用于生成联接选择),如:
QDjangoQuerySet匹配;
matched=matched.selectRelated()
.filter(qdjangwhere(“role_urolename”,qdjangwhere::Equals,“admin”);
谢谢!至少对后人来说,这是一个地方:)
User::User(QObject *parent)
: QDjangoModel(parent)
{
setForeignKey("role", new Role(this));
}
Role *User::role() const
{
return qobject_cast<Role *>(foreignKey("role"));
}
void User::setRole(Role *role)
{
setForeignKey("role", role);
}
QDjangoQuerySet<User> matched;
matched = matched.selectRelated()
.filter(QDjangoWhere("role__rolename", QDjangoWhere::Equals, "admin"));