Given what you have specified, Django form validation will be checking to ensure that the combo of office, county, and case_no is unique in the database. Since you aren't getting a form error, apparently this unique check is passing. You are instead getting a database level error (uncaught leading to the 500 error), meaning mostly lieley that the constraint you have placed in the DB differs somehow from what you have specified to Django. What exactly does the database error say? You left out the most important part for determining how what Django is checking differs from what the database is enforcing.
If it seems they are the same, then ensure you are running 1.0.2 (there were some fixes made to unique checking between 1.0 and 1.0.2). If that doesn't fix it, possibly you have hit a bug, but exact details of what you are getting from the DB would really help in tracking down what is going wrong.
Karen