models.py:
- BUGFIX: Sample.clean(): site and visit fields are not required, but even if not specified the Sample instance will still have them as attributes set to None. Check for this to avoid false ValidationError.