Accept bytes object as field name.
diff --git a/python/message.c b/python/message.c
index 46212ac..02fb902 100644
--- a/python/message.c
+++ b/python/message.c
@@ -243,7 +243,12 @@
                                       PyObject* exc_type) {
   assert(f || o);
   Py_ssize_t size;
-  const char* name = PyUnicode_AsUTF8AndSize(py_name, &size);
+  const char* name = NULL;
+  if (PyUnicode_Check(py_name)) {
+    name = PyUnicode_AsUTF8AndSize(py_name, &size);
+  } else if (PyBytes_Check(py_name)) {
+    PyBytes_AsStringAndSize(py_name, (char**)&name, &size);
+  }
   if (!name) return NULL;
   const upb_msgdef* msgdef = _PyUpb_CMessage_GetMsgdef(self);