Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. ORM for Qt
QtWS25 Last Chance

ORM for Qt

Scheduled Pinned Locked Moved General and Desktop
ormdatabase
37 Posts 10 Posters 42.1k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    mbnoimi
    wrote on last edited by
    #16

    until that date, could you please add some exmpales to your Git repository instead of this quick example?

    1 Reply Last reply
    0
    • V Offline
      V Offline
      victorzhuk
      wrote on last edited by
      #17

      sure :) how can I help you? what tests?

      1 Reply Last reply
      0
      • M Offline
        M Offline
        mbnoimi
        wrote on last edited by
        #18

        [quote author="victorzhuk" date="1368317045"]sure :) how can I help you? what tests?[/quote]

        I'm planning to apply some complicated queries with millions of records on stable database server (ex. MySQL or Postgresql)

        1 Reply Last reply
        0
        • V Offline
          V Offline
          victorzhuk
          wrote on last edited by
          #19

          lets try :) about examples - I find a time and upload some in git, with find,model,create,delete etc.. hope its help somebody

          1 Reply Last reply
          0
          • M Offline
            M Offline
            mbnoimi
            wrote on last edited by
            #20

            [quote author="victorzhuk" date="1368317891"]lets try :) about examples - I find a time and upload some in git, with find,model,create,delete etc.. hope its help somebody[/quote]

            Thanks... this will ease comparing process.

            1 Reply Last reply
            0
            • M Offline
              M Offline
              mbnoimi
              wrote on last edited by
              #21

              Guys, I found this library which may works too. I'll add it for performance comparison.
              https://sourceforge.net/projects/qtpersistence/?source=directory

              1 Reply Last reply
              0
              • M Offline
                M Offline
                mbnoimi
                wrote on last edited by
                #22

                Until now I'm planning to test:

                • eorm: https://github.com/victorzhuk/eorm
                • QDjango: https://code.google.com/p/qdjango/
                • QsT SQL Tools: https://sourceforge.net/projects/qstsqltools/?source=directory
                • QtPersistence: https://sourceforge.net/projects/qtpersistence/?source=directory
                • Standard Qt model

                I'm still looking for others...

                1 Reply Last reply
                0
                • S Offline
                  S Offline
                  Skh1002
                  wrote on last edited by
                  #23

                  Hi mbnoimi,

                  I wonder how your testing is going on. I am facing a similar problem, and I am undecided between ODB, QxOrm, and QDjango. For me, licensing is less of an issue, but performance and features are.

                  1 Reply Last reply
                  0
                  • M Offline
                    M Offline
                    mbnoimi
                    wrote on last edited by
                    #24

                    The Best performance was for QDjango, QxOrm and Standard Qt model. All three techniques gave same result in many cases but QxOrm is the best from features prespactive while QDjango is the best from simplicity and rapid usage.

                    Personally I use QDjango because it fits my needs while I left QxOrm becasue of license issue (actually it's heavy by comparing to QDjango)

                    1 Reply Last reply
                    0
                    • S Offline
                      S Offline
                      Skh1002
                      wrote on last edited by
                      #25

                      I am leaning towards QDjango as well, but there are still a few questions left, one of which is about relationships. QxOrm supports them, but I guess I have to implement it myself with QDjango. Do you have experience maintaing relationships with QDjango?
                      Also, I noticed that QDjango uses API deprecated in Qt5 (I had to specifically enable it to build the lib). Does this bother you at all?

                      1 Reply Last reply
                      0
                      • M Offline
                        M Offline
                        mbnoimi
                        wrote on last edited by
                        #26

                        [quote author="Skh1002" date="1373580970"]I am leaning towards QDjango as well, but there are still a few questions left, one of which is about relationships. QxOrm supports them, but I guess I have to implement it myself with QDjango. Do you have experience maintaing relationships with QDjango? [/quote]
                        I'm just like you I'm still working on it and I don't know how to connect to relationships with QDjango

                        bq. Also, I noticed that QDjango uses API deprecated in Qt5 (I had to specifically enable it to build the lib). Does this bother you at all?

                        Which version you're using? I use 0.4 which works in Qt5

                        P.S. for more info you can join to "QDjango mailing list":http://groups.google.com/group/qdjango

                        1 Reply Last reply
                        0
                        • S Offline
                          S Offline
                          Skh1002
                          wrote on last edited by
                          #27

                          I have the same version as you, but in Qt5.1 (with which I compiled it) some of the now deprecated API QDjango uses are removed by default. I don't know in which version of Qt this started. I had to insert something like
                          @
                          DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x040800
                          @
                          somewhere in qdjango.pri to compile it properly.

                          1 Reply Last reply
                          0
                          • M Offline
                            M Offline
                            mbnoimi
                            wrote on last edited by
                            #28

                            Me too, but that didn't stops me to use it because it suppose to work for Qt4 and Qt5.

                            1 Reply Last reply
                            0
                            • S Offline
                              S Offline
                              Skh1002
                              wrote on last edited by
                              #29

                              I have just looked into the test suite bundled with QDjango and there are cases for one-to-many and many-to-many relationships. So, apparently, there is support of such relationships. I will give it a spin to see how convenient it is compared to pure Qt.

                              1 Reply Last reply
                              0
                              • S Offline
                                S Offline
                                Skh1002
                                wrote on last edited by
                                #30

                                It appears that there is no relationship support in QDjango, after all. You can only emulate relationships with query sets on foreign keys. Further on, to create a many-to-many relationship between two entities, one must create a third one (equivalent to a separate foreign key table) and then filter query sets based upon that third entity. That's all very much doable, but basically amounts to hand-coding all of relationship management.

                                QxOrm does provide relationship support, so it may be more convenient to use if you need to maintain many relationships and/or fiddle with them a lot. I think I am still going to try QDjango first and fall back on QxOrm if it does not work out.

                                Please, let me know of your experience with QDjango. I will post my impressions after I play with it.

                                1 Reply Last reply
                                0
                                • Q Offline
                                  Q Offline
                                  qxorm
                                  wrote on last edited by
                                  #31

                                  Hi,

                                  I'm the developer of QxOrm library.
                                  FYI, we have released QxEntityEditor to make easier to work with QxOrm library : now, you can design your data model in few minutes and generate quickly a Qt/C++ project (and the SQL database associated).
                                  More details here : "http://qt-project.org/forums/viewthread/35932/":http://qt-project.org/forums/viewthread/35932/

                                  1 Reply Last reply
                                  0
                                  • M Offline
                                    M Offline
                                    mbnoimi
                                    wrote on last edited by mbnoimi
                                    #32

                                    After years of this post, Qt still without a practical open source ORM :(

                                    The only reliable option is QxOrm which is useless without QxEntityEditor because it's complicated without it but QxEntityEditor is commercial product so I'm still using the old way with Qt.

                                    Cheers

                                    1 Reply Last reply
                                    0
                                    • michalosM Offline
                                      michalosM Offline
                                      michalos
                                      wrote on last edited by
                                      #33

                                      If anyone is still interested, ORM-Qt is on a MIT license.
                                      https://github.com/victorzhuk/orm-qt

                                      1 Reply Last reply
                                      1
                                      • E Offline
                                        E Offline
                                        ElSampsa
                                        wrote on last edited by
                                        #34

                                        Hi,

                                        Here are my five bucks:

                                        https://github.com/elsampsa/cute_mongo_forms

                                        (it's in PyQt)

                                        1 Reply Last reply
                                        1
                                        • SeDiS Offline
                                          SeDiS Offline
                                          SeDi
                                          wrote on last edited by
                                          #35

                                          I am using
                                          https://github.com/Professi/cuteentitymanager

                                          1 Reply Last reply
                                          1

                                          • Login

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Groups
                                          • Search
                                          • Get Qt Extensions
                                          • Unsolved