You can clone with
state = IntField(required=True)
name = SmallStringField(required=True)
u = User()
u.state = 1
u.name = "Tamer"
u1 = User.objects.only('name').first()
u1.name = "Radian"
u1.save() # Fails because state is required
Mongoengine runs validate on all fields before save, even if there they are not changed. Which cases the above problem. I suggest save should validate changed fields only in case of partial documents.
I am running the stable Mongoengine version from pip.
@rozza I gather that this issue has been grouped under Features we are not sure of but any updates on what has been planned ? :)