code: def flags(self, index):
          
          if not index.isValid():
              return Qt.ItemIsEnabled
          column = index.column()
          if column in [0]:
              return Qt.ItemFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable |
                                  Qt.ItemIsUserCheckable | Qt.ItemIsEditable)
          else:
              return Qt.ItemFlags(Qt.ItemIsEnabled)
docs: Override Qt method