Best place to look is the `formfield()` methods on Django's ModelField classes.  These determine how `ModelForm` creates form fields based on the existing model fields.  We're essentially doing the same here, but for serializer fields, rather than form fields.
From a first glance I think `min_value` and `max_value` would be reasonable ones to add, too.