0

I have a model as follows:

class Menu(db.Model):
    itemId = db.Column(db.Integer,primary_key=True)
    name = db.Column(db.String(255),index=True)
    price = db.Column(db.Numeric)
    description = db.Column(db.String(255),index=True)
    image = db.Column(db.LargeBinary)
    restaurantId = db.Column(db.Integer, db.ForeignKey('restaurants.id'))
    createdOn = db.Column(db.DateTime,server_default=db.func.now())
    status = db.Column(db.Integer,server_default="1")
    orders = db.relationship('Orders', backref='menu', lazy='dynamic')
        
    def __repr__(self):
        return '<Menu of restaurant id {}>'.format(self.restaurantId)

And I have the following api model corresponding to it:

menu_model = api.model('Menu', 
{'itemId':fields.Integer(),
'name':fields.String(),
'price':fields.Float(),
'description':fields.String(),
'restaurantId':fields.Integer(),
'createdOn:':fields.DateTime(),
'status':fields.Integer()})

The problem is that even though the createdOn values are correctly generated on DB side, the response shows the createdOn field as null. What could be the reason?

"menu":
        {
            "itemId": 1,
            "name": "Menu item",
            "price": 30.0,
            "description": "Menu item description",
            "restaurantId": 1,
            "createdOn:": null,
            "status": 1
        }
Can
  • 1
  • 1
  • Please trim your code to make it easier to find your problem. Follow these guidelines to create a [minimal reproducible example](https://stackoverflow.com/help/minimal-reproducible-example). – Community Feb 21 '22 at 13:14

1 Answers1

0

this will accept the desired output. The first parameter is a label, not part of the json

menus = api.model(
    "menu_item",
    {
       'itemId':fields.Integer(),
       'name':fields.String(),
       'price':fields.Float(),
       'description':fields.String(),
       'restaurantId':fields.Integer(),
       'createdOn:':fields.DateTime(),
       'status':fields.Integer()
    },
)
menu_model = api.model(
    "Menu",
    {
        "menu": Nested(menus),
    },
)
Hashir Irfan
  • 315
  • 1
  • 9