Qt QDGO外键

Qt QDGO外键,qt,orm,foreign-keys,Qt,Orm,Foreign Keys,快速谷歌搜索没有返回关于如何正确使用QDjango外键的结果-有一些功能 QDjangoModel::foreignKey和QDjangoModel::setForeignKey-但我找不到任何关于如何在实践中使用它们的好例子。它很古老,可能会帮助其他人。。我在QDjango中搜索了很久,在中找到了一些东西,还有一些基本示例(但没有FK示例) 我使用QDjango以这种方式创建表模型(也是外键): 您可以使用Q_CLASSINFO为列设置一些属性。 外键在构造函数中绑定并在角色函数中填充 Use

快速谷歌搜索没有返回关于如何正确使用QDjango外键的结果-有一些功能


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"));