[Ask for help]How to convert django models schema to json?

121 views
Skip to first unread message

周华

unread,
Nov 1, 2016, 4:27:47 PM11/1/16
to Django users
  • This is an example models
  • class UserModel(db.Model):
        __tablename__ = "user"
        id = db.Column(db.Integer, primary_key=True)
        user_id = db.Column(db.String(255), unique=True)
        name = db.Column(db.String(255))



  • This is a Json example which I want get.
  • {
      "user":
      {
        "id":{
    "type": "Integer",
    "primary_key": True,
    "null": True,
    "default value": "",
    "foreign key": ""},
    "user_id":{
    "type": "Integer",
    "primary_key": True,
    "null": True,
    "default value": "",
    "foreign key": ""},
    "name":{
    "type": "Integer",
    "primary_key": True,
    "null": True,
    "default value": "",
    "foreign key": ""},
      }
    }

  • Wait your response online


Asif Saifuddin

unread,
Nov 2, 2016, 12:16:59 AM11/2/16
to Django users
Hi,

you can try django-rest-frameworks model serializer, modelviewsets and django-json-api package for this job.

thanks

Asif Saifuddin

unread,
Nov 2, 2016, 12:19:40 AM11/2/16
to Django users
But seems like you are using sqlalchemy models. for sqlalchemy models you could try sqlalchemy-marshmellow


On Wednesday, November 2, 2016 at 2:27:47 AM UTC+6, 周华 wrote:

GMail

unread,
Nov 2, 2016, 12:35:51 AM11/2/16
to django...@googlegroups.com
Hi!

There's also an alternative to Django REST Framework - Tastypie (https://django-tastypie.readthedocs.io/en/latest/). You could use [Namespaced]ModelResource with Django Models.

And if you're not interested in API and only want to use JSON internally, you could write your own serialization method in some abstract model class - Django allows you to iterate over model fields (https://docs.djangoproject.com/en/1.10/ref/models/meta/#django.db.models.options.Options.get_fields).

-- 
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users...@googlegroups.com.
To post to this group, send email to django...@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/bd6f5f3b-2e8c-4eac-80f3-1f787ab969ef%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages