18 #ifndef QDJANGO_SCRIPT_H
19 #define QDJANGO_SCRIPT_H
21 #include <QtScript/QScriptValue>
22 #include <QtScript/QScriptEngine>
25 #include "QDjangoQuerySet.h"
26 #include "QDjangoScript_p.h"
39 static void registerModel(QScriptEngine *engine);
40 static void registerWhere(QScriptEngine *engine);
50 QDjango::registerModel<T>();
52 QScriptValue querysetProto = engine->newObject();
53 querysetProto.setProperty(
"all", engine->newFunction(QDjangoQuerySet_all<T>));
54 querysetProto.setProperty(
"at", engine->newFunction(QDjangoQuerySet_at<T>));
55 querysetProto.setProperty(
"count", engine->newFunction(QDjangoQuerySet_count<T>));
56 querysetProto.setProperty(
"exclude", engine->newFunction(QDjangoQuerySet_exclude<T>));
57 querysetProto.setProperty(
"filter", engine->newFunction(QDjangoQuerySet_filter<T>));
58 querysetProto.setProperty(
"get", engine->newFunction(QDjangoQuerySet_get<T>));
59 querysetProto.setProperty(
"limit", engine->newFunction(QDjangoQuerySet_limit<T>));
60 querysetProto.setProperty(
"remove", engine->newFunction(QDjangoQuerySet_remove<T>));
61 querysetProto.setProperty(
"size", engine->newFunction(QDjangoQuerySet_size<T>));
62 querysetProto.setProperty(
"toString", engine->newFunction(QDjangoQuerySet_toString<T>));
66 QScriptValue value = engine->newQMetaObject(&T::staticMetaObject, engine->newFunction(QDjangoModel_new<T>));
67 value.setProperty(
"objects", engine->toScriptValue(qs));
68 engine->globalObject().setProperty(T::staticMetaObject.className(), value);
The QDjangoScript class provides static methods for making models scriptable.
Definition: QDjangoScript.h:35
The QDjangoWhere class expresses an SQL constraint.
Definition: QDjangoWhere.h:40
static void registerModel(QScriptEngine *engine)
Definition: QDjangoScript.h:48
The QDjangoQuerySet class is a template class for performing database queries.
Definition: QDjangoQuerySet.h:46