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"
41 static void registerModel(QScriptEngine *engine);
42 static void registerWhere(QScriptEngine *engine);
52 QDjango::registerModel<T>();
54 QScriptValue querysetProto = engine->newObject();
55 querysetProto.setProperty(
"all", engine->newFunction(QDjangoQuerySet_all<T>));
56 querysetProto.setProperty(
"at", engine->newFunction(QDjangoQuerySet_at<T>));
57 querysetProto.setProperty(
"count", engine->newFunction(QDjangoQuerySet_count<T>));
58 querysetProto.setProperty(
"exclude", engine->newFunction(QDjangoQuerySet_exclude<T>));
59 querysetProto.setProperty(
"filter", engine->newFunction(QDjangoQuerySet_filter<T>));
60 querysetProto.setProperty(
"get", engine->newFunction(QDjangoQuerySet_get<T>));
61 querysetProto.setProperty(
"limit", engine->newFunction(QDjangoQuerySet_limit<T>));
62 querysetProto.setProperty(
"remove", engine->newFunction(QDjangoQuerySet_remove<T>));
63 querysetProto.setProperty(
"size", engine->newFunction(QDjangoQuerySet_size<T>));
64 querysetProto.setProperty(
"toString", engine->newFunction(QDjangoQuerySet_toString<T>));
68 QScriptValue value = engine->newQMetaObject(&T::staticMetaObject, engine->newFunction(QDjangoModel_new<T>));
69 value.setProperty(
"objects", engine->toScriptValue(qs));
70 engine->globalObject().setProperty(T::staticMetaObject.className(), value);